图像去噪opencv

在OpenCV中,图像去噪通常可以通过多种方式来实现,包括高斯模糊、中值滤波、双边滤波等。提供完整的参数和中文注释。

1. 导入必要的库

复制代码
import cv2
import numpy as np

2. 读取图像

复制代码
# 读取图像
img = cv2.imread('image_path.jpg')  # 替换为你的图片路径
cv2.imshow('Original Image', img)
cv2.waitKey(0)

3. 使用高斯模糊去噪

复制代码
# 高斯模糊去噪
# 参数解释:
# src: 输入图像
# ksize: 高斯内核大小,宽度和高度可以不同,但它们都必须为正数和奇数,或者可以为零,然后从sigma计算得出
# sigmaX: 高斯内核在X方向上的标准偏差
# sigmaY: 高斯内核在Y方向上的标准偏差,如果sigmaY为零,则将其设置为等于sigmaX,如果两者都为零,则根据ksize.width和ksize.height计算它们
# borderType: 边界类型
gaussian_blur = cv2.GaussianBlur(img, (5, 5), 0)
cv2.imshow('Gaussian Blur', gaussian_blur)
cv2.waitKey(0)

4. 使用中值滤波去噪

复制代码
# 中值滤波去噪
# 参数解释:
# src: 输入图像
# ksize: 中值滤波的孔径线性尺寸,它必须是大于1的奇数
median_blur = cv2.medianBlur(img, 5)
cv2.imshow('Median Blur', median_blur)
cv2.waitKey(0)

5. 使用双边滤波去噪

复制代码
# 双边滤波去噪
# 参数解释:
# src: 输入图像
# d: 滤波时周围每个像素邻域的直径
# sigmaColor: 在color space中过滤sigma
# sigmaSpace: 在coordinate space中过滤sigma
bilateral_filter = cv2.bilateralFilter(img, 9, 75, 75)
cv2.imshow('Bilateral Filter', bilateral_filter)
cv2.waitKey(0)

6. 关闭所有窗口

复制代码
# 关闭所有OpenCV窗口
cv2.destroyAllWindows()

请确保将 'image_path.jpg' 替换为你要处理的图像的实际路径。

相关推荐
IVEN_2 天前
Python OpenCV: RGB三色识别的最佳工程实践
python·opencv
sali-tec8 天前
C# 基于OpenCv的视觉工作流-章27-图像分割
图像处理·人工智能·opencv·算法·计算机视觉
saoys8 天前
Opencv 学习笔记:腐蚀操作 + 轮廓标记 + 分水岭分割
笔记·opencv·学习
saoys8 天前
Opencv 学习笔记:距离变换(DIST_L1 算法实战 + 归一化)
笔记·opencv·学习
guygg888 天前
图像匹配技术:相关匹配、Hausdorff距离匹配与基于距离变换的Hausdorff距离匹配
图像处理·opencv·计算机视觉
AI科技星8 天前
物理世界的几何建构:论统一场论的本体论革命与概念生成
人工智能·opencv·线性代数·算法·矩阵
fie88898 天前
基于Matlab实现的指纹识别系统流程
opencv·计算机视觉·matlab
sali-tec9 天前
C# 基于OpenCv的视觉工作流-章26-图像拼接
图像处理·人工智能·opencv·算法·计算机视觉
智驱力人工智能9 天前
机场鸟类活动智能监测 守护航空安全的精准工程实践 飞鸟检测 机场鸟击预防AI预警系统方案 机场停机坪鸟类干扰实时监测机场航站楼鸟击预警
人工智能·opencv·算法·安全·yolo·目标检测·边缘计算
Σίσυφος19009 天前
OpenCV 之双线性插值
人工智能·opencv·计算机视觉