PS 滤镜——素描算法(一)
这个算法结合高斯滤波和图层混合中的颜色减淡模式实现。
可以参考相关博客:
http://blog.csdn.net/wsfdl/article/details/7610634
本文增加了一点调色,使得最终的素描效果可以不只是黑白,可以呈现不同的底色。
% % % % % 将图像转换成黑白颜色
% % % % % 复制图像,并对复制后的图像反相
% % % % % 将复制后的图像做高斯模糊
% % % % % 将模糊后的图像与原图像以颜色减淡模式混合
% % % % % 设置一个底色层
% % % % % 做素描
clc;
clear all;
addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm');
Image=imread('9.jpg');
Image=double(Image)/255;
I=(Image(:,:,1) + Image(:,:,2) + Image(:,:,3))/3;
I_invert=1-I;
F_size=20;
F_gaussian = fspecial('gaussian',F_size,F_size/6);
I_gaussian = imfilter(I_invert,F_gaussian,'conv');
delta=0.001;
I_Dodge=(I+delta)./(1-I_gaussian+delta);
Max_value=max(I_Dodge(:));
[row, col]=size(I);
Threshold=0.95;
for i=1:row
for j=1:col
if(I_Dodge(i,j)>Threshold)
I_Dodge(i,j)=Threshold+I_Dodge(i,j)/Max_value*(1-Threshold);
end
end
end
Image_Dodge(:,:,1)=I_Dodge;
Image_Dodge(:,:,2)=I_Dodge;
Image_Dodge(:,:,3)=I_Dodge;
%%% figure, imshow(Image_Dodge);
Base_layer=Image_Dodge;
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;
R=Image1(:,:,1);
G=Image1(:,:,2);
B=Image1(:,:,3);
%%% figure, imshow(Image1);
Image3=Image_Dodge.*Image1;
figure, imshow(Image3);
原图
效果图
效果图
PS 滤镜——素描算法(一)的更多相关文章
- PS 滤镜——素描算法(二)
利用另外一种算法完成素描特效的生成. %%% Sketch clc; clear all; Image=imread('4.jpg'); Image=double(Image); [row,col,l ...
- Python: PS 滤镜--素描
本文用 Python 实现 PS 滤镜中的素描特效,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/386 ...
- 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 ...
- Python: PS滤镜--径向模糊
本文用 Python 实现 PS 滤镜中的径向模糊特效,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/3 ...
随机推荐
- Struts 2 之校验器
对于输入校验,Struts2提供了两种方式,1.使用validate方法:2.基于XML配置实现 . validate()方法 支持校验的Action必须实现Validateable接口,一般直接继承 ...
- Druid VS Antlr4
DRUID VS ANTLR4 测试方法 环境:x86_64,eclipse kepler,jdk 6 测试对象:antlr v4,druid手写sql parser模块 测试过程:分别采用单线程.多 ...
- linux ubuntu系统下MySQL的安装及设置
debian下安装MySQL:1.构建源或使用光盘镜像,当然你插入光盘也没问题2.有源时本地文件的源配置:修改/etc/apt/sources.list文件, 示例:deb http://192.16 ...
- 深入理解MyBatis框架的的配置信息
面对一个框架,最重要的不是说回用其代码就可以了,我们需要了解其思想,这样才能更快更好的掌握这个框架.而对于一个框架,最重要的就是其配置文件的作用及功能了.下面,我就来谈一谈我今天遇到的这个MyBati ...
- 安卓自定义日期控件(仿QQ,IOS7)续
本篇是在原来的基础上修改了界面效果,使其更加接近ios7,qq等日期选择控件,看图: 源码地址:http://download.csdn.net/detail/baiyuliang2013/87601 ...
- ubuntu make menuconfig error
主机环境:ubuntu -------------------------------------------------------------- 在ubuntu系统中,要编译内核,还需要安装一系列 ...
- iOS开发基础block的形式讲解
前几个星期,我利用通知写了一个仿京东选择地址的Demo(http://blog.csdn.net/hbblzjy/article/details/52212879),后来看过一篇文章说,尽量少用通知, ...
- iOS中 MediaPlayer framework实现视频播放 韩俊强的博客
iOS开发中播放音乐可以使用MPMusicPlayerController类来实现,播放视频可以使用MPMoviePlayerController和MPMoviePlayerViewControlle ...
- iOS中分段控制器与UIScrollView结合使用
指定根视图: // 设置window的根视图控制器 self.window.rootViewController = [[UINavigationController alloc] initWithR ...
- Accounting Flexfield Setup and Usage (Doc ID 124333.1)
APPLIES TO:Oracle General Ledger - Version 11.5.10.2 to 12.1.3 [Release 11.5.10 to 12.1] Information ...