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

三、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);

photoshop图像滤镜——油画算法(含matlab与C代码)_第1张图片

photoshop图像滤镜——油画算法(含matlab与C代码)_第2张图片


欢迎分享,请注明出处(wsfdl,[email protected])





你可能感兴趣的:(c,算法,数据库,matlab)