matlab选择合适的滤波器图像进行ditog滤波_MATLAB图像处理:15:减少图像梯度中的噪点...

1f2cc2e465e08310f469e585bcd31e53.png

本示例演示了如何减少与计算图像梯度相关的噪声。图像梯度用于突出显示图像中有趣的特征,并在许多特征检测算法(如边缘/角检测)中使用。降低梯度计算中的噪声对于检测准确的特征至关重要。

将图像读入工作区并将其转换为灰度图。

 originalImage = imread('yellowlily.jpg');
 originalImage = rgb2gray(originalImage);
 ​
 imshow(originalImage)

7c9658451611073eb48628c59c1575c5.png

为了模拟此示例中的噪声,请向图像添加一些高斯噪声。

 noisyImage = imnoise(originalImage,'gaussian');
 imshow(noisyImage)

b46245384d8c7b37040ecdf310817980.png

使用imgradientimgradientxy函数计算梯度的大小。imgradient找到梯度的大小和方向,imgradientxy找到方向图像的梯度。

 sobelGradient = imgradient(noisyImage);
 imshow(sobelGradient,[])
 title('Sobel Gradient Magnitude')

16de2df620e4ed1632702c2804ee55c0.png

观察梯度幅值图像,很明显图像梯度噪声很大。可以通过在梯度计算之前进行平滑来将噪声的影响最小化。imgradient通过使用Sobel梯度算子,已经为少量噪声提供了此功能。Sobel梯度算子是3x3滤波器,如下所示。可以使用fspecial函数生成它们。

 hy = -fspecial('sobel')
 hy = 3×3
 ​
     -1    -2    -1
      0     0     0
      1     2     1
 hx = hy'
 hx = 3×3
 ​
     -1     0     1
     -2     0     2
     -1     0     1

hy过滤器在沿着水平方向移动,计算垂直方向上的梯度。hx过滤器在沿着垂直方向移动,计算水平方向上的梯度。'Prewitt''Roberts'方法的选择也提供这种能力。

即使使用Sobel,Roberts或Prewitts梯度算子,图像梯度也可能太嘈杂。为克服此问题,请在计算图像梯度之前使用高斯平滑滤波器对图像进行平滑处理。使用该imgaussfilt函数可以平滑图像。高斯滤波器的标准偏差会改变平滑程度。由于平滑是通过高斯滤波进行的,因此可以使用中央或中间差分梯度算子。

 sigma = 2;
 smoothImage = imgaussfilt(noisyImage,sigma);
 smoothGradient = imgradient(smoothImage,'CentralDifference');
 imshow(smoothGradient,[])
 title('Smoothed Gradient Magnitude')

666a3f56fd9de151f43440bad8527193.png

注:本文根据MATLAB官网内容修改而成。

可以看看以下的免费视频教程,特点是没有PPT,不掺水,直接编程环境下的实操课程:

用100分钟了解MATLAB编程

《MATLAB编程》视频课程 - 商业数据分析_数据可视化_Tableau免费课程_Tableau培训_自学Tableau_上海_1data.pro​www.1data.pro
bb52ede422c9681bde49abca3c0da5d8.png

欢迎您进一步了解以下MATLAB系列文章:

吃小羊:MATLAB作图实例:00:索引​zhuanlan.zhihu.com
081234d5aaed27d51883494613b21ea6.png
吃小羊:MATLAB金融工具箱:00:索引​zhuanlan.zhihu.com
ca3d361542daa1127a24565094a92536.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值