赞
踩
所谓滤波,顾名思义,能够起到图像过滤的作用,本文简单简单介绍,均值滤波,高斯滤波,中值滤波。当然,还有方框滤波,双边滤波器,可分离滤波等,后期遇到了就再补上。本文实现方法均为opencv提供接口。
原理:均值滤波采用多次测量取平均值的思想,用每一个像素周围的像素的平均值代替自身,具体大小可以指定。
优点:能够将受到噪声影响的像素,使用该噪声周围的像素值进行修复。
缺点:使得像素之间的差距变小,图像变得模糊。
原理:高斯滤波主要用来去除高斯噪声,具体原理比较复杂,这里就不介绍了。
原理:中值滤波将待处理来的像素周围像素从小到大排序,取中值代替该像素。
优点:可以有效去除椒盐噪声
缺点:当卷积核较大时,仍然使得图像变得模糊,而且计算量很大。
#均值滤波
MeanBlur3 = cv.blur(image,(3,3))
MeanBlur7 = cv.blur(image,(7,7))
Result1 = cv.hconcat((image,MeanBlur3,MeanBlur7))
cv.imshow("MeanBlurResult",Result1)
cv.waitKey()
blur(src, Size)
**src:**输入图像
**Size:**卷积核尺寸
#高斯滤波
GaussBlur3 = cv.GaussianBlur(image,(3,3),sigmaX=10,sigmaY=20)
GaussBlur7 = cv.GaussianBlur(image,(3,3),sigmaX=10,sigmaY=20)
Result3 = cv.hconcat((image,GaussBlur3,GaussBlur7))
cv.imshow("GaussBlurResult",Result3)
cv.waitKey()
GaussianBlur(src, Size, sigmaX,sigmaY)
src:输入图像
Size:卷积核大小
sigmaX:X轴方向标准差大小
sigmaY:Y轴方向标准差大小
#中值滤波
MedianBlur3 = cv.medianBlur(image,3)
MedianBlur7 = cv.medianBlur(image,3)
Result2 = cv. hconcat((image,MedianBlur3,MedianBlur7))
cv.imshow("MedianBlurResult",Result2)
cv.waitKey()
medianBlur(src,size)
src:输入图像
size:卷积核大小
def MyBlur(image):
#均值滤波
MeanBlur3 = cv.blur(image,(3,3))
MeanBlur7 = cv.blur(image,(7,7))
Result1 = cv.hconcat((image,MeanBlur3,MeanBlur7))
cv.imshow("MeanBlurResult",Result1)
cv.waitKey()
#高斯滤波
GaussBlur3 = cv.GaussianBlur(image,(3,3),sigmaX=10,sigmaY=20)
GaussBlur7 = cv.GaussianBlur(image,(3,3),sigmaX=10,sigmaY=20)
Result3 = cv.hconcat((image,GaussBlur3,GaussBlur7))
cv.imshow("GaussBlurResult",Result3)
cv.waitKey()
#中值滤波
MedianBlur3 = cv.medianBlur(image,3)
MedianBlur7 = cv.medianBlur(image,3)
Result2 = cv. hconcat((image,MedianBlur3,MedianBlur7))
cv.imshow("MedianBlurResult",Result2)
cv.waitKey()
return;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。