码迷,mamicode.com
首页 > 其他好文 > 详细

PS 滤镜— —Marble 效果

时间:2015-07-24 13:00:14      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:

clc;
clear all;
close all;

addpath(‘E:\PhotoShop Algortihm\Image Processing\PS Algorithm‘);

I=imread(‘4.jpg‘);
I=double(I);
Image=I/255;

xScale = 20;
yScale = 20;
amount = 1;
turbulence =0.25;

Image_new=Image;

[height, width, depth]=size(Image);

Index=1:256;
sin_T=-yScale*sin(2*pi*(Index-1)/256*turbulence);
cos_T=xScale*cos(2*pi*(Index-1)/256*turbulence);

[ind, g1, g2, g3]=init_arr();

for ii=1:height

% %     [ind, g1, g2, g3]=init_arr();

    for jj=1:width

        dis=min(max( floor(127*(1+Noise2(jj/xScale, ii/yScale, ind, g2))), 1), 256);

        x=jj+sin_T(dis);
        y=ii+cos_T(dis);

% %         if (x<=1)     x=1;  end
% %         if (x>=width)   x=width-1; end;
% %         if (y>=height)  y=height-1; end;
% %         if (y<1)  y=1;     end;
% %         

        if (x<=1)     continue;  end
        if (x>=width)   continue; end;
        if (y>=height)  continue; end;
        if (y<1)  continue;     end;

        x1=floor(x);
        y1=floor(y);
        p=x-x1;
        q=y-y1;

        Image_new(ii,jj,:)=(1-p)*(1-q)*Image(y1,x1,:)+p*(1-q)*Image(y1,x1+1,:)...
            +q*(1-p)*Image(y1+1,x1,:)+p*q*Image(y1+1,x1+1,:); 
    end
end

imshow(Image_new)
imwrite(Image_new, ‘out.jpg‘);

参考来源:http://www.jhlabs.com/index.html

原图:

技术分享

效果图:

技术分享

技术分享

版权声明:本文为博主原创文章,未经博主允许不得转载。

PS 滤镜— —Marble 效果

标签:

原文地址:http://blog.csdn.net/matrix_space/article/details/46789607

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!