各种滤镜算法C语言,Photoshop入门学习之PS 滤镜算法原理——染色玻璃

本文详细介绍了如何运用Photoshop进行染色玻璃滤镜的实现,涉及图像处理的基础知识和算法。首先,通过 Sobel 算子进行边缘检测,然后利用形态学细化分割图像。接着,采用watershed算法进行区域标记,并为每个区域分配不同的颜色。最后,通过高斯滤波和自定义滤波器完成图像的染色玻璃效果。该教程适合Photoshop初学者,有助于提升图像处理技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文主要向大家介绍了Photoshop入门学习之PS 滤镜算法原理——染色玻璃,通过具体的内容向大家展现,希望对大家Photoshop入门学习有所帮助。

%%%% 完成PS 中的染色玻璃滤镜特效

clc;

clear all;

close all;

Image=imread('4.jpg');

Image=double(Image);

Gray_Image=rgb2gray(Image/255);

[row,col]=size(Gray_Image);

S_filter=fspecial('sobel');

G=sqrt(imfilter(Gray_Image, S_filter, 'replicate').^2+...

imfilter(Gray_Image, S_filter, 'replicate').^2);

% % % % 利用形态学细化分割图像

%%%% 形态学中的结构算子的大小,决定了分割的块的大小

Block_Size=8;

G2=imclose(imopen(G,ones(Block_Size,Block_Size)), ones(Block_Size,Block_Size));

L=watershed(G2);

wr=L==0;

figure, imshow(wr);

Label_num=bwlabel(1-wr,4);

%%% figure, imshow(Label_num);

length=max(Label_num(:));

Color_array(1:length,1:3)=1000;

for i=1:row

for j=1:col

Num=Label_num(i,j);

if(Num==0)

Image(i,j,1)=255;

Image(i,j,2)=255;

Image(i,j,3)=255;

else

if(Color_array(Num,1)==1000)

Color_array(Num,1)=Image(i,j,1);

Color_array(Num,2)=Image(i,j,2);

Color_array(Num,3)=Image(i,j,3);

else

Image(i,j,1)=Color_array(Num,1);

Image(i,j,2)=Color_array(Num,2);

Image(i,j,3)=Color_array(Num,3);

end

end

end

end

G_filter=fspecial('gaussian',6,0.5);

G_image=imfilter(Image, G_filter);

L_filter=[-1 -1 -1; -1 9 -1; -1 -1 -1];

Image=imfilter(G_image, L_filter);

figure, imshow(Image/255);

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注常用软件Photoshop频道!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值