测试图片:使用噪声lena
在这里插入图片描述

1、原始图像显示

import cv2 as cv
img=cv.imread("./lenaNoise.jpeg")
cv.imshow("test",img)
cv.waitKey(0)
cv.destroyAllWindows()

2、均值滤波操作

简单的卷积操作

import cv2 as cv
img=cv.imread("./lenaNoise.jpeg")
blur=cv.blur(img,(3,3)) #blur是均值滤波函数,第一参数为图像,第二参数为卷积核大小
cv.imshow("blur",blur)
cv.imshow("img",img)
cv.waitKey(0)
cv.destroyAllWindows()
  • 示例图中黄色区域为卷积核,3*3
  • 卷积核内值累加后,平均
  • 所以叫平均滤波
    在这里插入图片描述

运行结果:右侧为执行均值滤波后的效果,大家可以自己修改卷积核数值查看效果
在这里插入图片描述

3、方盒滤波操作

import cv2 as cv
img=cv.imread("./lenaNoise.jpeg")
box=cv.boxFilter(img,-1,(3,3),normalize=True)
cv.imshow("box",box)
cv.imshow("img",img)
cv.waitKey(0)
cv.destroyAllWindows()

基本原理与均值滤波一样
方盒滤波函数:boxFilter

  • src:输入图像
  • ddepth:输出图像深度,-1表示与原图像一样,一般都是-1
  • ksize:卷积核大小,是一个元组
    运行结果:右侧为执行均值滤波后的效果,大家可以自己修改卷积核数值查看效果
    在这里插入图片描述

4、高斯滤波操作

import cv2 as cv
img=cv.imread("./lenaNoise.jpeg")
gauss=cv.GaussianBlur(img,(5,5),1)
cv.imshow("gauss",gauss)
cv.imshow("img",img)
cv.waitKey(0)
cv.destroyAllWindows()

符合高斯分布,离卷积核越近,越重要
在这里插入图片描述

5、中值滤波操作

import cv2 as cv
img=cv.imread("./lenaNoise.jpeg")
gauss=cv.GaussianBlur(img,(5,5),1)
cv.imshow("gauss",gauss)
cv.imshow("img",img)
cv.waitKey(0)
cv.destroyAllWindows()

顾名思义,中值,中间值,不是平均值!!!
在这里插入图片描述
在这里插入图片描述

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐