PS 滤镜算法原理 ——马赛克
% method : 利用邻域的随意一点取代当前邻域全部像素点
%%%% mosaic
clc;
clear all;
addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm');
Image=imread('4.jpg');
Image=double(Image);
size_info=size(Image);
height=size_info(1);
width=size_info(2);
N=11; % 控制邻域大小
Image_out=Image;
for i=1+N:N:height-N
for j=1+N:N:width-N
k1=rand()-0.5;
k2=rand()-0.5;
m=(k1*(N*2-1));
n=(k2*(N*2-1));
h=floor(mod(i+m,height));
w=floor(mod(j+n,width));
if w==0;
w=width;
end
if h==0
h=height;
end
Image_out(i-N:i+N,j-N:j+N,1)=Image(h,w,1);
Image_out(i-N:i+N,j-N:j+N,2)=Image(h,w,2);
Image_out(i-N:i+N,j-N:j+N,3)=Image(h,w,3);
end
end
imshow(Image_out/255);
原图
效果图
最新文章
- Spring IOC 依赖注入的两种方式XML和注解
- JDK环境变量的配置方法
- 所思所想 关于asp.net界面业务分离
- C#遍历窗体所有控件或某类型所有控件
- hibernate 注解写在哪?
- 安装windows系统(win7)
- repeater截取字数
- C# webservice开发
- double减法不准确的那些事儿
- JS中遍历语法的比较
- 如何高效的编写与同步博客 (.NET Core 小工具实现)
- 在Notepad++中快捷选中多行
- 找回密码的url分析
- .Net Discovery系列之四 深入理解.Net垃圾收集机制(下)
- DialogFragment详解
- OpenGL视图--gluPerspective glOrtho glFrustum gluLookAt
- 教你一招解决浏览器兼容问题(PostCSS的使用)
- QMsgPack的用法DEMO
- BZOJ1149:[CTSC/APIO2007]风铃——题解
- OPENCV下SIFT算法使用方法笔记