PS 滤镜— —水波效果
来源:互联网 发布:台词功底 知乎 编辑:程序博客网 时间:2024/05/05 08:11
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
原图:
效果图:
0 0
- OpenCV——PS滤镜 水波效果
- PS 滤镜— —水波效果
- PS 滤镜——水波 water wave
- OpenCV——PS 滤镜, 浮雕效果
- PS 滤镜— —挤压效果
- PS 滤镜— —Marble 效果
- PS 滤镜— — 万花筒效果
- PS滤镜— —波浪效果
- PS 滤镜— —球面化效果
- PS 滤镜— — sparkle 效果
- Python: PS 滤镜--水波特效
- PS 水波效果
- PS 滤镜算法原理——碎片效果
- PS 滤镜算法原理——浮雕效果
- PS 滤镜——扩散特效, 毛玻璃 效果
- OpenCV——PS滤镜之 波浪效果 wave
- PS 滤镜——Skewing
- Python: PS 滤镜--万花筒效果
- 会长聚课堂 联手赢未来—湖北省商协会会长高级研修班开学典礼及课程邀请函
- LeetCode Triangle
- unity 3D游戏场景转换
- 2012年5月SAT香港真题解析
- java编译错误 程序包javax.servlet不存在javax.servlet.* (eclipse中不出现,单个java文件出现)
- PS 滤镜— —水波效果
- Getting started with the Crazyflie 2.0
- windows消息与消息循环
- InteljIDE 设置缩写自动生成代码
- 【斯坦福---机器学习】复习笔记之生成学习算法
- 在BaseWidget.js中定义的变量appConfig可以表示全局的文件config.json
- 七天学会ASP.NET MVC (五)——Layout页面使用和用户角色管理
- .NET Linq 中的 Skip和Take
- Unity3d Mathf数学运算说明