拉普拉斯滤波实现图像增强
来源:互联网 发布:华为 java工程师 编辑:程序博客网 时间:2024/06/05 11:46
感谢作者总结,原文地址:http://blog.sina.com.cn/s/blog_6f57a7150100o5ef.html
如对作者造成任何不便,请联系我删除。
先上个简单的示例,看MATLAB中拉普拉斯滤波器是如何实现的:
令原图f=magic(3)
f
掩膜采用标准Laplacian掩膜:w=fspecial('laplacian',0)
w =
n=imfilter(f,w,'replicate');默认参数为'same',结果为:
n =
采用'full'参数,n=imfilter(f,w,'replicate','full');结果为:
n =
=========
实现过程:
①模板旋转180度(和原来一样,因为是对称的模板)
w' =
②图像边界填充,这里采用'replicate'方式:
>> k=padarray(m,[2 2],'replicate')
k
(黄色背景为原始图像)
③进行卷积运算:
……(逐步计算,直至模板全部移过图像)
④去除边界,得到结果:
上述即用laplacian滤波模板进行图像滤波的过程(实际上是一个空间卷积操作)。
以一幅uint8类灰度图像为例,原图:
直接使用laplacian滤波模板滤波:
>> f=imread('moon.tif');
>> w=fspecial('laplacian',0)
>> g1=imfilter(f,w,'replicate');
>> imshow(g1)
效果并不理想,因为原图是一幅uint8类图像,输出结果仍为uint8类,所有像素均为正值,而拉普拉斯滤波模板中存在负值,变换结果中的所有负值被截掉了。
解决此问题,须先进行类型变换:
f2=im2double(f);
然后再进行滤波:
>> g2=imfilter(f2,w,'replicate');
>> imshow(g2,[])
此图像即含有负值的滤波结果,相比于原图,丢失了一些灰度色调,故还需用原图减去此滤波结果(以还原失去的灰度色调):
>> g=f2-g2;figure,imshow(g)
比原图清晰了很多。
另外,使用考虑了对角线元素的中心为8的拉普拉斯算子还可以获得更为清晰的图像:
>> w8=[1 1 1;1 -8 1;1 1 1]
w8 =
>> g8=f-imfilter(f,w8,'replicate');
>> figure,imshow(g8)
===========
拉普拉斯算子的数学定义:
式(2)为式(1)的数字近似,式(3)中g(x,y)为目标图像,f(x,y)为原始图像。c为1(当掩膜中心系数为正时),c为-1(当掩膜中心系数为负时)
由于laplacian算子是微分操作符,所以它会使图像锐化,并使常量区域为0。
后记:关键点是模板的选取。
- 拉普拉斯滤波实现图像增强
- 拉普拉斯滤波实现图像增强
- (转)拉普拉斯滤波实现图像增强
- 拉普拉斯(laplacian)滤波实现图像锐化分析
- 拉普拉斯算子原理 图像增强
- 拉普拉斯算子进行图像增强
- 图像增强-中值滤波
- 灰度图像--图像增强 拉普拉斯算子
- 图像滤波----低通滤波,中值滤波,高通滤波,方向滤波(Sobel),拉普拉斯变换
- OpenCV图像增强算法实现(直方图均衡化、拉普拉斯、Log、Gamma)
- OpenCV图像增强算法实现(直方图均衡化、拉普拉斯、Log、Gamma)
- OpenCV图像增强算法实现(直方图均衡化、拉普拉斯、Log、Gamma)
- 图像增强之空间滤波
- 拉普拉斯滤波
- 【算法学习】【图像增强】基于拉普拉斯算子的图像锐化
- 灰度图像--图像增强 中值滤波
- matlab laplacian of gaussian(拉普拉斯高斯) 图像滤波
- 图像处理线性滤波(基础算子、卷积、拉普拉斯)
- android AES加密代码
- 8.jvm之签名实践
- 简单的朋友圈界面-Android(二)
- FFMPEG封装格式转换(remuxer)
- nyoj 32 递归求组合数
- 拉普拉斯滤波实现图像增强
- 【复赛模拟试题】书的排序
- 数学建模———线性规划问题
- 简单的导航条制作
- 【HDU】5303 Delicious Apples
- Eclipse 迁移 Android Studio遇到问题及解决方案
- malloc,realloc,calloc的用法及区别
- linux 下之paste简单用法
- 数据类型/变量