PS 滤镜——素描算法(二)
利用另外一种算法完成素描特效的生成。
%%% Sketch
clc;
clear all;
Image=imread('4.jpg');
Image=double(Image);
[row,col,layer]=size(Image);
Filter_size=30;
sigma=Filter_size/6;
F_gaussian=fspecial('gaussian', Filter_size, sigma);
for i=1:row
for j=1:col
I(i,j)=max(Image(i,j));
end
end
I=I/255;
p=1;
Gradient_X=[-1 -p -1
0 0 0
1 p 1];
Gradient_Y=[-1 0 1
-p 0 p
-1 0 1];
Image_y=imfilter(I, Gradient_Y, 'conv');
Image_x=imfilter(I, Gradient_X, 'conv');
alpha=0.5;
% Image_edge=(abs(Image_x)*alpha+(1-alpha)*abs(Image_y));
Image_edge=(abs(Image_x)+abs(Image_y));
F_image=imfilter(Image,F_gaussian,'conv');
[L,a,b]=Rgb2Lab(F_image);
I=sqrt(L.*L+a.*a+b.*b);
I_mean=mean(mean(I));
F_S=I;
for i=1:row
for j=1:col
if(I(i,j)<I_mean)
F_S(i,j)=(1-I(i,j)/I_mean).^2;
else
F_S(i,j)=0;
end
end
end
Image_out=(1-Image_edge).*(0.8-F_S);
%% 设置底色层
Image_Dodge(:,:,1)=Image_out;
Image_Dodge(:,:,2)=Image_out;
Image_Dodge(:,:,3)=Image_out;
Base_layer=Image_out;
Base_layer(:,:,1)=210/255;
Base_layer(:,:,2)=225/255;
Base_layer(:,:,3)=105/255;
alpha=0.7;
Image1=alpha*Image_Dodge+(1-alpha)*Base_layer;
Image3=Image_Dodge.*Image1;
figure, imshow(Image3);
%%% Rgb2Lab
%%%
function [L,a,b]=Rgb2Lab(Image)
Image=double(Image)/255;
R=Image(:,:,1);
G=Image(:,:,2);
B=Image(:,:,3);
X=0.5767309*R + 0.1855540*G + 0.1881852*B;
Y=0.2973769*R + 0.6273491*G + 0.0752741*B;
Z=0.0270343*R + 0.0706872*G + 0.9911085*B;
[row, col]=size(R);
L=R;
a=R;
b=R;
for i=1:row
for j=1:col
L(i,j)=116*F_Correction(Y(i,j))-16;
a(i,j)=500*(F_Correction(X(i,j))-F_Correction(Y(i,j)));
b(i,j)=200*(F_Correction(Y(i,j))-F_Correction(Z(i,j)));
end
end
原图
效果图
PS 滤镜——素描算法(二)的更多相关文章
- PS 滤镜——素描算法(一)
这个算法结合高斯滤波和图层混合中的颜色减淡模式实现. 可以参考相关博客: http://blog.csdn.net/wsfdl/article/details/7610634 本文增加了一点调色,使得 ...
- Python: PS 滤镜--素描
本文用 Python 实现 PS 滤镜中的素描特效,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/386 ...
- OpenCV——PS 图层混合算法 (二)
具体的算法原理可以参考 PS图层混合算法之二(线性加深,线性减淡,变亮,变暗) // PS_Algorithm.h #ifndef PS_ALGORITHM_H_INCLUDED #define PS ...
- OpenCV——PS 滤镜, 浮雕效果
具体的算法原理可以参考: PS 滤镜, 浮雕效果 // define head function #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITH ...
- OpenCV——PS 滤镜, 曝光过度
算法原理可以参考: PS 滤镜,曝光过度 #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include <io ...
- Python: PS 滤镜--旋涡特效
本文用Python 实现 PS 滤镜的旋涡特效,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/42215 ...
- Python: PS 滤镜--USM 锐化
本文用 Python 实现 PS 滤镜中的 USM 锐化效果,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/detail ...
- Python: PS 滤镜--表面模糊
本文用 Python 实现 PS 滤镜中的表面模糊,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/528 ...
- Python: PS 滤镜--旋转模糊
本文用 Python 实现 PS 滤镜中的旋转模糊,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/392 ...
随机推荐
- (一三〇)UITextField的光标操作扩展
简介 在iOS开发中,有时候需要完全自主的定义键盘,用于完整的单词输入,例如计算机应用中,需要一次性的输入sin(,在移动光标时要完整的跳过sin(,在删除时也要完整的删除,这就需要对光标的位置进行精 ...
- 【java虚拟机序列】java中的垃圾回收与内存分配策略
在[java虚拟机系列]java虚拟机系列之JVM总述中我们已经详细讲解过java中的内存模型,了解了关于JVM中内存管理的基本知识,接下来本博客将带领大家了解java中的垃圾回收与内存分配策略. 垃 ...
- Android初级教程反射+AIDL+内容观察者监控黑名单号码代码模板
对于想要拦截一些莫名的陌生号码,就需要电话拦截功能与删除其电话记录功能.拦截的主要业务逻辑,分别是在一个服务里面进行:1.注册电话监听:2.取消注册电话监听(当然注册于取消是在服务里面建立一个广播接收 ...
- Android数据库Sqlite-android学习之旅(九)
简介 sqilte是一个轻量级的数据库,满足数据库的基本操作,由于移动端的内存有限,所以sqilte刚好能满足移动端开发的基本要求. 废话不多说,上代码 1.首先介绍一下,sqlite的管理类SQLi ...
- J2EE进阶(十三)Spring MVC常用的那些注解
Spring MVC常用的那些注解 前言 Spring从2.5版本开始在编程中引入注解,用户可以使用@RequestMapping, @RequestParam,@ModelAttribute等等这样 ...
- UNIX网络编程——非阻塞accept
当有一个已完成的连接准备好被accept时,select将作为可读描述符返回该连接的监听套接字.因此,如果我们使用select在某个监听套接字上等待一个外来连接,那就没有必要把监听套接字设置为非阻塞, ...
- (七十三)iOS本地推送通知的实现
iOS的推送通知分为本地推送和网络推送两种,如果App处于挂起状态,是可以发送本地通知的,如果已经被杀掉,则只有定时通知可以被执行,而类似于QQ的那种网络消息推送就无法实现了,因为App的网络模块在被 ...
- ADFS3.0 Customizing the AD FS Sign-in Pages
Windows Server2012R2自带的adfs是3.0的版本,不同于以前的版本的是3.0中登陆页面的定制化全部是通过powershell指令实现,官方的介绍链接如下:http://techne ...
- ROS_Kinetic_11 ROS程序基础Eclipse_C++(二)
ROS_Kinetic_11 ROS程序基础Eclipse_C++(二) 编写简单的Service和Client (C++): http://wiki.ros.org/cn/ROS/Tutorials ...
- Chapter 2 User Authentication, Authorization, and Security(2):创建登录帐号
原文出处:http://blog.csdn.net/dba_huangzj/article/details/38705965,专题目录:http://blog.csdn.net/dba_huangzj ...