PS 滤镜算法原理——染色玻璃
%%%% 完成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);
原图:
效果图:
PS 滤镜算法原理——染色玻璃的更多相关文章
- PS 滤镜算法原理——照亮边缘
这个算法原理很简单,对彩色图像的R,G,B 三个通道,分别求梯度,然后将梯度值作为三个通道的值. clc; clear all;Image=imread('4.jpg');Image=double(I ...
- PS 滤镜算法原理——曝光过度
这个算法的原理,就是将图像反相,然后分别比较原图与反相后的图三个通道的大小,将小的值输出. clc; clear all; Image=imread('4.jpg'); Image=double(Im ...
- PS 滤镜算法原理 ——马赛克
% method : 利用邻域的随意一点取代当前邻域全部像素点 %%%% mosaic clc; clear all; addpath('E:\PhotoShop Algortihm\Image Pr ...
- PS 滤镜算法原理——碎片效果
%%% Fragment %%% 对原图做四个方向的平移,然后对平移的结果取平均 %%% 碎片效果 clc; clear all; Image=imread('4.jpg'); Image=doubl ...
- PS 滤镜算法原理——高反差保留 (High Pass)
这个特效简单来说,就是一个高通滤波器, 对图像做高斯滤波,用原图减去高斯滤波后的图,再将差值加上128. clc; clear all; close all; Image=imread('4.jpg' ...
- PS 滤镜算法原理——浮雕效果
clc; clear all; Image=imread('4.jpg');Image=double(Image);p=3; %% 控制浮雕的强度 %% 控制浮雕的方向 H=[0 0 p ...
- PS 滤镜算法原理——拼贴
%%%% Tile %%%%% 实现拼贴效果 %%%%% 将原图像进行分块,然后让图像块在 %%%%% 新图像范围内进行随机移动,确定移动后的边界 %%%%% 将移动后的图像块填入新图像内 clc; ...
- PS 滤镜算法— — 表面模糊
图像的表面模糊处理,其作用是在保留图像边缘的情况下,对图像的表面进行模糊处理.在对人物皮肤处理上,比高斯模糊更有效.因为高斯模糊在使人物皮肤光洁的同时,也将一些边缘特征如脸部的眉毛.嘴唇等给模糊了,不 ...
- OpenCV——PS 滤镜算法之极坐标变换到平面坐标
// define head function #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include < ...
随机推荐
- iOS界面不能点击(tableView 的cell 不能使用点击事件,tableView也不能上下滚动)
iOS开发中间遇到了很多问题,有些后来又遇到,竟然忘记怎么处理了,所以还是来写下博客记录自己遇到的问题,方便自己也方便别人. 之前想的是项目小,就用storyboard在绘制界面,但是项目慢慢的扩展, ...
- [Mysql]mysql windows下配置文件
环境是win7 mysql5.6版本 测试下配置文件是否可用(之前没用过windows下的msyql配置) 修改配置前查询下: mysql> show variables like '%max_ ...
- 指令汇C电子市场开发(一) ActionBar的使用
前话: 在学习开发谷歌电子市场的的时候,我换了一款比较高大上的模拟器--genymotion,首先去genymotion的官网注册下载,然后安装.感觉这款模拟器运行挺快的,哈哈,而且可以直接把应用拖进 ...
- Android7.0 多窗口你值得拥有
Android7.0 多窗口你值得拥有 什么是多窗口分屏? 多窗口分屏其实在国内并不陌生,已经有一些手机和平板搭载了"分屏多任务"和"APP窗口化"功能,但这些 ...
- FFmpeg源代码简单分析:avformat_write_header()
===================================================== FFmpeg的库函数源代码分析文章列表: [架构图] FFmpeg源代码结构图 - 解码 F ...
- Dynamics CRM 电子邮件服务器配置文件Advanced配置中关闭SSL
在新建电子邮件服务器配置文件时Advanced中的Use SSL for Incoming/Outgoing Connection默认都是启用的而且无法编辑,启用SSL当然是为了安全的考虑,但当客户的 ...
- Android简易实战教程--第四话《最简单的短信发送器》
首先配置一个布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmln ...
- 学习笔记7-Android短信发送器
新建一个Android项目sns. 在String.xml添加文字 <resources> <stringname="app_name">Sns发送短信&l ...
- markdown语法(看这张图就够了)
这是维基百科的一张图,基本就够用了 https://en.wikipedia.org/wiki/Markdown#Example
- Dynamics CRM CRM Explorer missing from Visual Studio 2012
CRMSDK中提供的develop toolkit工具比较适合初级开发者或者是多人团队的开发,在代码版本控制及部署上均有明显的优势. 但今天在装完这个工具后,打开vs2012可以新建一个package ...