您的位置:首页 > 编程语言 > MATLAB

photoshop图像滤镜——油画算法(含matlab与C代码)

2012-06-20 21:48 2546 查看
三、photoshop图像滤镜——油画算法

有关油画的算法,我在各类网站包括数据库查询了许久,只了解到这么一种:用当前点四周一定范围内任意一点的颜色来替代当前点颜色,最常用的是随机的采用相邻点进行替代。

根据相应的算法,我们就可以很快编写相应的程序,由于是随机替代,故需要用到rand函数。

size_info=size(img);
height=size_info(1);
width=size_info(2);
N=2;
out=zeros(height,width,3);
for i=1:height
for j=1:width
temp=uint8(rand()*(N^2-1));
m=temp/N;
n=mod(temp,N);
h=mod(double(i-1)+double(m),double(height));
w=mod(double(j-1)+double(n),double(width));
if w==0;
w=width;
end
if h==0
h=height;
end
out(i,j,:)=img(h,w,:);
end
end
imshow(out/255);






欢迎分享,请注明出处(wsfdl,fanjirun@163.com)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: