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

 时间:2026-02-16 06:42:49

1、滤波或者叫模糊

常用的有 中值滤波 均值滤波 高斯滤波 高斯双边滤波 boxFilter 

其中中值滤波对椒盐噪声效果好(前文已有实验),双边效果好点但速度慢点。

本文还是以梅瓶图为例进行比较说明。

import cv2  as cvimport  numpy as npimport copyimport osfrom matplotlib import pyplot as pltfrom skimage.measure import compare_ssimimport random

image = 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(NoiseImgCopy, 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、通常常用的 是高斯和中值滤波比较多用。常作为前期处理使用。有些比较厉害的滤波后期再介绍。

  • sql相关子查询例题
  • 如何免费下载CSDN的文件
  • linux共享文件
  • 嵌入式LINUX蜂鸣器奏乐编程练习
  • 遗传算法解决函数最大值
  • 热门搜索
    夜间快速止咳的方法 企业净资产怎么算 海参汤的家常做法 饺子馅做法大全 aabc式词语大全 农村别墅设计图纸及效果图大全 儿童湿疹最佳治疗方法 怎样做炸酱面好吃 晒伤了怎么快速修复 抵押贷款怎么办