openCV:图像的平滑去噪

openCV:图像的平滑去噪,第1张

低频就是颜色缓慢变化,也就是灰度缓慢地变化,就代表着那是连续渐变的一块区域。相反高频即灰度变化快,相邻区域的灰度差别大,例如边缘,噪点都是灰度变化快的区域。

图像平滑是要突出图像的低频成分、主干部分或抑制图像噪声和干扰高频成分的图像处枣哪理方法,目的是使图像亮度平缓渐变,减小突变梯度,改善图像质量。字面意思就是让图像上颜色灰度变化更光滑。我们也称图像平滑为图像模糊,因为在平滑的时候,也失去了尖锐的特点。

现实中的数字图像在数字化和传输过程中凳谨码常受到成像设备与外部环境噪声干扰等影响,称为含噪图像或噪声图像。那么除去这些噪声的过程就是图像去噪。

均值滤波也成线性滤波,其采用的主晌培要方法为邻域平均法。线性滤波的基本原理是用原图像中某个像素临近值的均值代替原图像中的像素值。即滤波器的核(kernel)中所有的系数都相等,然后用该核去对图像做卷积。

基本和均值一样,即滤波器的核(kernel)中所有的系数都相等。但是它可以选择是否归一化,如果归一化,则和均值滤波毫无差别;若不选择归一化,则会导致像素点的值超过255,发生越界。

高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。

高斯模糊的卷积核里的数值是满足高斯分布,相当于更重视中间的,离得越近的像素点发挥的作用越大。

高斯核主要取决于σ。如果σ越小,高斯分布中心区域更加聚集,平滑效果越差;反之,则更离散,平滑效果越明显。

中值滤波器,使用滤波器窗口包含区域的像素值的中值来得到窗口中心的像素值。是一种非线性平滑滤波器。在去噪同时,较好的保持边缘轮廓细节,适合处理椒盐噪声,但对高斯噪声效果不好。

双边滤波器是一种可以保边去噪的滤波器,也是一种加权平均滤波器,与高斯滤波不同的是,其滤波核是由两个函数构成,一个函数是由几何空间距离决定滤波器系数,另一个由像素差值决定滤波器系数。

适合处理高斯噪声,但对椒盐噪声基本不起任何作用。

%你好。我的行孙程档斗链序只针对bmp图像。如果是其他格式,请补充提问。

%窗口大小是5*5,请按图片需要适当调销贺整。

clc

close all

clear all

win=[5 5]

img=imread('SaltPepper.bmp')

figureimshow(img)

x=img(:,:,1)

y=img(:,:,2)

z=img(:,:,3)

X = medfilt2(x,win)

Y = medfilt2(y,win)

Z = medfilt2(z,win)

new_img=cat(3,X,Y,Z)

figureimshow(new_img)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12275590.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存