標籤:photoshop 演算法 應用
這個演算法結合高斯濾波和圖層混合中的顏色減淡模式實現。
可以參考相關部落格:
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 濾鏡——素描演算法(一)