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

原图:

这里写图片描述

效果图:

这里写图片描述

这里写图片描述

posted on 2015-07-25 10:45  未雨愁眸  阅读(156)  评论(0编辑  收藏  举报