PS 滤镜— — sparkle 效果
clc;
clear all;
close all;
addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm');
I=imread('4.jpg');
Image=double(I)/255;
[height, width, depth]=size(Image);
rays = 25;
radius = 25;
amount = 25; % 1-100
color = [1.0, 1.0, 1.0]; % 0-1
randomness = 25;
centreX=width/2.0;
centreY=height/2.0;
% % seed = 371;
rayLengths=radius+randomness / 100.0 * radius * rand(1,rays);
Img_new=Image;
for ii=1:height
for jj=1:width
dx = jj-centreX;
dy = ii-centreY;
distance=sqrt(dx*dx+dy*dy);
angle = atan2(dy, dx);
d = (angle+pi) / (2*pi) * rays;
f=d-floor(d);
len_1=rayLengths(mod(floor(d), rays)+1);
len_2=rayLengths(mod(floor(d)+1, rays)+1);
length = lerp(f, len_1, len_2);
g = length*length / (distance+0.0001);
g = g.^((100-amount) / 50.0);
f =f - 0.5;
% % f = 1-f*f;
f =f * cos(g);
% % f =f * sin(g);
f=min(max(0,f),1);
r=Image(ii, jj, 1);
g=Image(ii, jj, 2);
b=Image(ii, jj, 3);
Img_new(ii, jj, 1)=lerp(f, r, color(1));
Img_new(ii, jj, 2)=lerp(f, g, color(2));
Img_new(ii, jj, 3)=lerp(f, b, color(3));
end
end
imshow(Img_new);
imwrite(Img_new, 'out.jpg');
参考来源:http://www.jhlabs.com/index.html
原图:
效果图:
PS 滤镜— — sparkle 效果的更多相关文章
- Python: PS 滤镜--万花筒效果
本文用 Python 实现 PS 的一种滤镜效果,称为万花筒.也是对图像做各种扭曲变换,最后图像呈现的效果就像从万花筒中看到的一样: 图像的效果可以参考之前的博客: http://blog.csdn. ...
- PS 滤镜— —挤压效果
clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm'); I=imread ...
- PS 滤镜— —Marble 效果
clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm'); I=imread ...
- PS 滤镜— — 万花筒效果
clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm'); I=imread ...
- PS 滤镜— —水波效果
clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm'); I=imread ...
- PS 滤镜— —球面化效果
clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm'); I=imread ...
- PS滤镜— —波浪效果
clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm'); I=imread ...
- OpenCV——PS滤镜 水波效果
// define head function #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include < ...
- Python: PS 滤镜--旋涡特效
本文用Python 实现 PS 滤镜的旋涡特效,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/42215 ...
随机推荐
- 转:几款主流pcb软件比较
原理图设计软件:会ORCAD就可以了,支持的Netlist超多,基本是业界标准. PCB Layout 软件 1.Protel,现在推AltiumDesigner.国内低端设计的主流,国外基本没人 ...
- getOutString 输出弹出字符串
输入字符串长度,字符串,计数m.从前往后计数,当数到m个元素时,第m个元素出列,同时将该元素赋值给m,然后从下一个数计数循环,直到所有数字都出列,给定的数全部为大于0的数字.输出出队队列. 例如: ...
- springboot+async异步接口实现和调用
什么是异步调用? 异步调用是相对于同步调用而言的,同步调用是指程序按预定顺序一步步执行,每一步必须等到上一步执行完后才能执行,异步调用则无需等待上一步程序执行完即可执行. 如何实现异步调用? 多线程, ...
- Spring Resource框架体系介绍
Resource介绍 在使用spring作为容器进行项目开发中会有很多的配置文件,这些配置文件都是通过Spring的Resource接口来实现加载,但是,Resource对于所有低级资源的访问都不够充 ...
- Django之邮件发送
settings.py #settings 添加如下配置进行邮件发送 #邮件服务器 EMAIL_HOST = "smtp.qq.com" #邮件发送的端口 EMAIL_PORT = ...
- 【文献阅读】Augmenting Supervised Neural Networks with Unsupervised Objectives-ICML-2016
一.Abstract 从近期对unsupervised learning 的研究得到启发,在large-scale setting 上,本文把unsupervised learning 与superv ...
- python 基础 3.1 打开文件 a a+ r+ w+ 详解
一.python 访问文件 1.在python中要访问文件,首先要打开文件,也就是open ---open r: 只读 w: 只写 ,文件已存在则清空,不存在则创建 a:追加 ...
- share初始化
要看懂share先看与map的交互以及跨地图的交互 share初始化 void Share::ShareInit(I_DataLayer* data_layer) { // 加载xls表 if(!Lo ...
- EasyNVR无插件IPC摄像机直播方案前端构建之:区分页面是自跳转还是分享依据
区分分享还是跳转 对于前端一些页面的展示,通常有两种方式:通过入口链接一步步进入,或是通过分享链接直接进入:对于这两种方式的区别是什么?在进行前端书写时又应该如何处理? 以EasyNVR为例来进行说明 ...
- Git with SVN
1)GIT是分布式的,SVN不是: 这 是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别.好处是跟其他同事不会有太多的冲突,自己写的代码放在自己电脑上,一段时间后再提交.合并, ...