python环境用opencv实现多种滤波操作

2025-05-11 12:03:45

1、滤波或者叫模糊常用的有 中值滤波均值滤波高盍嫫谧艰斯滤波高斯双边滤波boxFilter其中中值滤波对椒盐噪声效果好(前文已有实验),双边稗卡蛟毪效果好点但速度慢点。本文还是以梅瓶图为例进行比较说明。import cv2 as cvimport numpy as npimport copyimport osfrom matplotlib import pyplot as pltfrom skimage.measure import compare_ssimimport randomimage = cv.imread("c:\\meiping1.png", 1)cv.imshow("image", image)

python环境用opencv实现多种滤波操作

2、加噪声NoiseImg = image.copy()for k in range(15000): # Create 5000 荏鱿胫协noisy pixels i = random.randint(0, image.shape[0] - 1) j = random.randint(0, image.shape[1] - 1) color = (random.randrange(256), random.randrange(256), random.randrange(256)) NoiseImg[i, j] = colorcv.imshow("randomcolorNoize", NoiseImg)

python环境用opencv实现多种滤波操作

3、# 中值滤波NoiseImgCopy = NoiseImg.copy()medianBlur = cv.medianBlur(NoiseImgCopy, 5)cv.imshow("medianBlur", medianBlur)

python环境用opencv实现多种滤波操作

4、# 均值滤波Blur = cv.blur(NoiseImgCopy, (5, 5))cv.imshow("Blur", Blur)

python环境用opencv实现多种滤波操作

5、# 高斯滤波GaussianBlur = cv.GaussianBlur(NoiseImgCopy, (5, 5), 0)cv.imshow("GaussianBlur", GaussianBlur)

python环境用opencv实现多种滤波操作

6、# 高斯双边滤波bilateralFilter = cv.bilateralFilter(Noise朐袁噙岿ImgCopy, 40, 75, 75)cv.imshow("bilateralFilter", bilateralFilter)# cv.imshow("NoiseImgg", NoiseImg)

python环境用opencv实现多种滤波操作

7、#方框滤波boxFilter = cv.boxFilter(NoiseImgCopy, -1, (5,5), normalize=1)cv.imshow("boxFilter", boxFilter)

python环境用opencv实现多种滤波操作

8、通常常用的 是高斯和中值滤波比较多用。常作为前期处理使用。有些比较厉害的滤波后期再介绍。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢