matalb编写程序实现ps的“素描滤镜”
ps的各种滤镜都可以用matlab代码来进行实现,今天给出一个例子:素描滤镜
原图如图:
实验步骤如下:
1.首先原图就是灰度图,我们不需要进行去色处理,直接读取 即可,并对图像的灰度级归一化到[0 255]。
2.对原图进行反色得到图像B。
3.对图像B进行高斯模糊得到图C。
4.最后将图像C与图像B进行颜色减淡的图层混合算法得到最后处理效果,颜色减淡的公式为:结果色 = 基色 + (混合色 * 基色) / (255 - 混合色)。
matlab实现代码:
I=imread('D:/图像/fish.tif');
figure(1);
imshow(I);
info_size=size(I);
height=info_size(1);
width=info_size(2);
N=zeros(height,width); %取反之后值
G=zeros(height,width); %滤波之后值%灰度级归一化到0-255
originalMinValue = double(min(min(I)));
originalMaxValue = double(max(max(I)));
originalRange = originalMaxValue - originalMinValue;desiredMin = 0;
desiredMax = 255;
desiredRange = desiredMax - desiredMin;
V= desiredRange * (double(I) - originalMinValue) / originalRange + desiredMin;gc =V(:,:,1);
channel = gc;
out=zeros(height,width); %颜色取反
for i=1:height for j=1:width N(i,j)=uint8(255-channel(i,j)); %doubleend
end
figure(2);
imshow(N,[0,255]);%高斯模糊
gausize = 90; %滤波器大小,越大越模糊
gausigma = 10; %越大越模糊
GH = fspecial('gaussian', gausize, gausigma);
G = imfilter(N, GH);
figure(3);
imshow(G,[0,255]);for i=1:height for j=1:width b=double(G(i,j)); a=double(channel(i,j)); temp=a+a*b/(255-b); %颜色减淡算法out(i,j)=uint8(min(temp,255)); end
end
figure(4)
imshow(out/255);
%模糊程度越高,得到的素描结果越清晰,框架纹理颜色越深
得到如下结果:
素描滤镜即可实现!这个例子也可以用于图像增强方面,使图片中的鱼骨及鱼刺清晰地显示出来。
matalb编写程序实现ps的“素描滤镜”相关推荐
- ps眼睛糖果滤镜插件 - Alien Skin Eye Candy 7 for Mac
Alien Skin Eye Candy 7 汉化版又名ps眼睛糖果滤镜插件,插件包含了30多种Photoshop滤镜集,主要应用对象包含多种设计任务,字体,标志,网页设计等,使用对自然现象的模拟提供 ...
- 图像滤镜艺术---(Sketch Filter)素描滤镜
(Sketch Filter)素描滤镜 素描滤镜的实现方法比较简单,这里我们直接写出算法过程如下: 1,对原图S进行去色命令得到灰度图A: 2,对A进行反色得到图像B: 3,对B进行高斯模糊得到图C: ...
- 使用CoreImage实现素描滤镜
前言 开始 设计 实现 封装 总结 hint 前言 本文读者应该已经掌握了CoreImage基本用法,能够简单使用CIFilter并能够用CIContext渲染输出图片. 本文不会主要讲述如何使用Co ...
- 图像特效---(Sketch Filter)素描滤镜
(Sketch Filter)素描滤镜 素描滤镜的实现方法比较简单,这里我们直接写出算法过程如下: 1,对原图S进行去色命令得到灰度图A: 2,对A进行反色得到图像B: 3,对B进行高斯模糊得到图C: ...
- c实现 图像dither算法_Atitit (Sketch Filter)素描滤镜的实现 图像处理 attilax总结...
Atitit (Sketch Filter)素描滤镜的实现 图像处理attilax总结 Sch lg java d sketch filter aigo se ,ma sinsho ..byedu ...
- 验证哥德巴赫猜想:任何一个大于等于6的偶数均可表示为两个素数的和。如6=3+3,8=3+5,,18=5+13。试编写程序,要求将输入的一个偶数表示成两个素数之和。 输入输出样例如下:
验证哥德巴赫猜想:任何一个大于等于6的偶数均可表示为两个素数的和.如6=3+3,8=3+5,,18=5+13.试编写程序,要求将输入的一个偶数表示成两个素数之和. 输入输出样例如下: 98 98 = ...
- 素描滤镜_素描fu依次导出画板
素描滤镜 You're working on a new feature for your music app. This feature is called "Add to Playlis ...
- 素描滤镜_先进的素描技术
素描滤镜 I wasn't too surprised as to why Benchmark invested twenty million dollars in the European comp ...
- 素描滤镜_素描fu自定义键盘快捷键
素描滤镜 Custom App Shortcuts is a little known, but handy feature of macOS. I use my keyboard instead o ...
最新文章
- Linux中errno使用
- 资本主义社会是不存在人道的
- mongodb php 支持
- 逐飞科技对于STC8H1K系列的单片机正交解码的资料以及实验
- 一个简单的python爬虫(转)
- 机器学习实验中的编程技术(part1)--numpy
- java list交换_如何在JAVA中交换两个arraylist?
- CentOS7.5下KVM虚拟机安装
- C++基础——new与delete
- 智能小车——循迹、避障小车(附详细代码)
- wps如何用循环函数_wps表格函数怎么用 wps表格函数的简单用法分享
- pdf怎么解除限制?如何解密?一步解决
- 函数声明和函数表达式的区别
- editplus自动换行html,EditPlus如何自动换行
- SpringBoot 实战:加载和读取资源文件
- DNSPod十问Neha Naik:以人民币结算海外IT业务的可能性?
- ElementUI表格多选数据处理
- vue 项目检测新版本功能
- PROGRESSIVE GROWING OF GANS FOR IMPROVED QUALITY, STABILITY, AND VARIATION
- queue容器常用接口
热门文章
- MarkdownPad2 自动生成目录
- 2023微信手机号筛选器,快速检测出开通微信的号码,检测国外号码过滤微信状态,判断qq是否开通微信软件
- Python中的对象赋值和浅拷贝,深拷贝
- 智能窗帘控制(光、红外、时间)
- mPEG-Phosphate,甲氧基聚乙二醇磷酸盐,mPEG-PHOS
- wallpaper代码_70 行 python 代码实现壁纸批量下载!
- android怎样实现手机触屏,Android触屏过程详解和实现view随手指移动而移动功能
- excel拼接换行符:char(10)
- rn 滑动验证_rn-fetch-blob
- 输入框技巧 禁用输入法 禁用提示 提示归类