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);
    
   
   
    原图


效果图


效果图


  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值