博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PS 滤镜算法原理——染色玻璃
阅读量:4651 次
发布时间:2019-06-09

本文共 1277 字,大约阅读时间需要 4 分钟。

版权声明:本文为博主原创文章。未经博主同意不得转载。

https://blog.csdn.net/shinian1987/article/details/30485639

%%%% 完毕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);

原图:

效果图:

转载于:https://www.cnblogs.com/xfgnongmin/p/10794620.html

你可能感兴趣的文章
浅谈WPF的VisualBrush
查看>>
CSS------当内容超出div宽度后自动换行和限制文字不超出div宽度和高度
查看>>
经常用得到的安卓数据库基类
查看>>
vue element 关闭当前tab 跳转到上一路由
查看>>
4、面向对象
查看>>
[NOI2005]聪聪与可可(期望dp)
查看>>
POJ 3723
查看>>
springmvc3.2+spring+hibernate4全注解方式整合(一)
查看>>
Elgg网站迁移指南
查看>>
installshield 注册dll
查看>>
Sublime Text 3 及Package Control 安装(附上一个3103可用的Key)
查看>>
Get MAC address using POSIX APIs
查看>>
基于uFUN开发板的心率计(一)DMA方式获取传感器数据
查看>>
【dp】船
查看>>
oracle, group by, having, where
查看>>
⑥python模块初识、pyc和PyCodeObject
查看>>
Kibana:分析及可视化日志文件
查看>>
nodejs pm2使用
查看>>
cocos2d-x 3.10 PageView BUG
查看>>
装饰器的基本使用:用户登录
查看>>