gpt4 book ai didi

opencv 图像滤波(均值,方框,高斯,中值)

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 27 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章opencv 图像滤波(均值,方框,高斯,中值)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

为什么要使用滤波 。

消除图像中的噪声成分叫作图像的平滑化或滤波操作。信号或图像的能量大部分集中在幅度谱的低频和中频段是很常见的,而在较高频段,感兴趣的信息经常被噪声淹没。因此一个能降低高频成分幅度的滤波器就能够减弱噪声的影响。 如下图,左图带有椒盐噪声,右图为使用中值滤波处理后的图片.

opencv 图像滤波(均值,方框,高斯,中值)

图像滤波的目的有两个:一是抽出对象的特征作为图像识别的特征模式;另一个是为适应图像处理的要求,消除图像数字化时所混入的噪声.

python +opencv讲解 。

均值滤波 。

含义 如图:如果我们想对红色点进行处理,则它新值等于周围N乘N个像素点的平均(包括自身) 。

opencv 图像滤波(均值,方框,高斯,中值)

用表达式表达:

opencv 图像滤波(均值,方框,高斯,中值)

扩展到对整个图像进行均值滤波 。

opencv 图像滤波(均值,方框,高斯,中值)

实现方法: 处理结果=cv2.blur(原始图像,核大小) 。

核大小:以(宽度,高度)的元祖 效果:使图像变模糊啦。能处理被椒盐攻击过的照片.

?
1
2
3
4
5
6
7
import cv2
a = cv2.imread( 'lenacolor.png' ) #
b = cv2.blur(a,( 8 , 8 ))
cv2.imshow( 'original' ,a)
cv2.imshow( 'result' ,b)
cv2.waitKey( 0 )
cv2.destroyAllWindows()

opencv 图像滤波(均值,方框,高斯,中值)

方框滤波 。

实现方法:函数boxFilter 处理结果=cv2.boxFilter(原始图像,目标图像深度,核大小,normalize属性) 。

目标图像深度: int类型的目标图像深度,-1表示与原始图像一致 核大小:(宽度,高度)元祖 normalize:是否对目标图像进行归一化处理 normalize为true 时与均值滤波一样,为false时表示任意一个点的像素为周围像素点的和,容易发生溢出超过255 。

opencv 图像滤波(均值,方框,高斯,中值)

normalize=1,1为true 。

?
1
2
3
4
5
6
7
import cv2
a = cv2.imread( 'lenacolor.png' ) #
b = cv2.boxFilter(a, - 1 ,( 5 , 5 ),normalize = 1 )
cv2.imshow( 'original' ,a)
cv2.imshow( 'result' ,b)
cv2.waitKey( 0 )
cv2.destroyAllWindows()

结果:

opencv 图像滤波(均值,方框,高斯,中值)

normalize=0,0为false 结果中只有几个点不是白色 。

opencv 图像滤波(均值,方框,高斯,中值)

减少核大小为(2,2)normalize=0 。

opencv 图像滤波(均值,方框,高斯,中值)

高斯滤波 。

含义: 中心点权重高,越远越低 。

opencv 图像滤波(均值,方框,高斯,中值)

实现方法:GaussianBlur 。

处理结果=cv2.GaussianBlur(原始图像src,核函数大小ksize,sigmaX) 。

核函数大小ksize:(N,N)必须是奇数 sigmaX:控制x方向方差,控制权重,一般取0,它自己去计算方差。y轴方差和x一致 。

opencv 图像滤波(均值,方框,高斯,中值)

?
1
2
3
4
5
6
7
import cv2
a = cv2.imread( 'lenacolor.png' ) #
b = cv2.GaussianBlur(a,( 3 , 3 ), 0 )
cv2.imshow( 'original' ,a)
cv2.imshow( 'result' ,b)
cv2.waitKey( 0 )
cv2.destroyAllWindows()

opencv 图像滤波(均值,方框,高斯,中值)

中值滤波 。

使用像素点邻域附近的像素的中值代替该点的像素值。通俗点来说,在这个像素的左边找五个像素点,右边找五个像素点,将这些像素进行排序,排序过后产生一个中值,用中间大小的值,来代替该像素的值.

中值滤波可以有效的去除斑点和椒盐噪声。但是效率低,其运算时间 为均值滤波的五倍以上.

opencv 图像滤波(均值,方框,高斯,中值)

实现方法:medianBlur 目标图像=cv2.medianBlur(原始图像,intksize) intksize:核函数,必须为奇数. 。

?
1
2
3
4
5
6
7
import cv2
a = cv2.imread( 'lenacolor.png' ) #
b = cv2.medianBlur(a, 5 )
cv2.imshow( 'original' ,a)
cv2.imshow( 'result' ,b)
cv2.waitKey( 0 )
cv2.destroyAllWindows()

opencv 图像滤波(均值,方框,高斯,中值)

到此这篇关于opencv 图像滤波(均值,方框,高斯,中值)的文章就介绍到这了,更多相关opencv 图像滤波内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。

原文链接:https://blog.csdn.net/kobeyu652453/article/details/107134459 。

最后此篇关于opencv 图像滤波(均值,方框,高斯,中值)的文章就讲到这里了,如果你想了解更多关于opencv 图像滤波(均值,方框,高斯,中值)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com