PS 滤镜— —水波效果

原创 2015年08月25日 15:55:46
    clc;
    clear all;
    close all;

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

    I=imread('4.jpg');
    I=double(I);
    Image=I/255;
    [height, width, depth]=size(Image);

    wavelength = 20;
    amplitude = 10;
    phase = 0;
    centreX = 0.5;
    centreY = 0.5;
    radius = 0; 

    if (radius==0)
        radius=min(height, width)/2;
    end

    icentreX=width*centreX;
    icentreY=height*centreY;
    radius2=radius*radius;
    Image_new=Image;

     for ii=1:height
        for jj=1:width

             dx=jj-icentreX;
             dy=ii-icentreY;

             distance2=dx*dx+dy*dy;

             if (distance2>radius2)
                 x=jj;
                 y=ii;
             else
                 distance=sqrt(distance2);
                 amount=amplitude * sin(distance / wavelength * 2*pi - phase);
                 amount =amount* (radius-distance)/radius;
                 amount=amount*wavelength/(distance+0.0001);

                 x =jj + dx*amount;
                 y = ii + dy*amount;

             end

    % %         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);

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

原图:

这里写图片描述

效果图:

这里写图片描述

这里写图片描述

这里写图片描述

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

相关文章推荐

实用火狐浏览器插件总结(用于调试javascript的插件--firedebug)

转载地址: » 转载请注明来源:Xshagua » 《2010实用火狐浏览器插件总结》 » 本文链接地址:http://www.xshagua.com/238.html » 订阅本站:http://f...

java与.net des加解密 方法解析

java的des的加密和解密以及c#的加密和解密的方法: DES加密 DES是一种对称加密(Data Encryption Standard)算法 ,两个关键点,第一个是加密算法,第二个是数据补位。 ...
  • paolei
  • paolei
  • 2015年12月16日 14:26
  • 1864

OpenCV——PS滤镜 水波效果

// define head function #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include #...

PS 滤镜— —Marble 效果

clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm'); I=imre...

PS 滤镜— — 万花筒效果

clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm'); I=imre...

PS 滤镜— —球面化效果

clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm'); I=imre...

PS 滤镜— — sparkle 效果

clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm'); I=imre...

PS滤镜— —波浪效果

clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm'); I=imre...

PS 滤镜— —挤压效果

clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm'); I=imre...

PS 滤镜——水波 water wave

%%%% Water wave %%%% 制作水波效果 clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Proce...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PS 滤镜— —水波效果
举报原因:
原因补充:

(最多只允许输入30个字)