中值滤波、方框滤波、高斯滤波、均值滤波、膨胀、腐蚀、开运算、闭运算

1.1 常见图像噪声类型
  • 高斯噪声:符合正态分布的随机噪声

  • 椒盐噪声:随机出现的黑白像素点

  • 泊松噪声:光子计数噪声

  • 量化噪声:模拟信号数字化过程中产生

2.1 均值滤波(Averaging Filter)

原理:用邻域像素的平均值替换中心像素值

python 复制代码
blur_3x3 = cv2.blur(noisy_img, (3,3))  # 3×3小窗口

效果分析

  • 窗口越大,去噪效果越强,但图像越模糊

  • 计算速度快,适合实时处理

  • 会模糊边缘和细节

2.2 方框滤波(Box Filter)

原理:均值滤波的通用形式,可选择是否归一化

python 复制代码
# 非归一化方框滤波(像素值可能溢出)
box_nonorm = cv2.boxFilter(noisy_img, -1, (3,3), normalize=False)
# 归一化方框滤波
box_norm = cv2.boxFilter(noisy_img, -1, (3,3), normalize=True)

特殊应用

  • 非归一化滤波可用于局部对比度增强

  • 归一化时与均值滤波效果相同

2.3 高斯滤波(Gaussian Filter)

原理:使用高斯函数作为权重,距离中心越近权重越大

python 复制代码
# 不同标准差的高斯滤波
gauss_small = cv2.GaussianBlur(noisy_img, (5,5), 1)  # 小标准差
gauss_large = cv2.GaussianBlur(noisy_img, (5,5), 3)  # 大标准差

参数选择技巧

  • 标准差σ与窗口大小关系:ksize ≈ (6σ+1)

  • σ越大,平滑效果越强,但计算量也越大

2.4 中值滤波(Median Filter)

原理:用邻域像素的中值替换中心像素值

python 复制代码
# 中值滤波去噪
median_3 = cv2.medianBlur(sp_noisy, 3)
median_5 = cv2.medianBlur(sp_noisy, 5)

适用场景

  • 对椒盐噪声效果显著

  • 能较好保持边缘锐利度

  • 计算复杂度高于线性滤波

1、膨胀:

其原理是:将核在原始图像中进行遍历,然后将原始图像遍历到的像素点的值与自定义卷积核(全为1的二维矩阵)得值进行与运算,像素点与对应核一 一对应进行与,当卷积核对应的元素值只要有一个为1时,设置卷积核中心值的像素点为1,如果全为0,,则其值设置为0.

2、腐蚀:

其原理是:将核在原始图像中进行遍历,然后将原始图像遍历到的像素点的值与自定义卷积核(全为1的二维矩阵)得值进行与运算,像素点与对应核一 一对应进行与,当卷积核对应的元素值均为1时,设置卷积核中心值的像素点为1,否则其值设置为0.

3、开运算原理

1)原理:图像开运算是图像依次经过腐蚀、膨胀处理后的过程。

2)特点:图像被腐蚀后,去除了噪声,但是也压缩了图像;接着对腐蚀过的图像进行膨胀处理,可以去除噪声,并保留原有图像

在OpenCV中,同样提供开运算的库函数,函数原型如下所示

1)、函数原型:result =cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)

  • img:需要进行开运算处理的图像
  • cv2.MORPH_OPEN:图像进行开运算需要填写的参数(进行开运算时,该参数为固定参数不可改变)
  • kernel:卷积核模板,例如kernel = np.ones((5,5), np.uint8),5x5的卷积核

4、闭运算原理

1)、原理:图像开运算是图像依次经过膨胀、再腐蚀处理后的过程

2)、特点:图像先膨胀,后腐蚀,它有助于关闭前景物体内部的小孔,或物体上的小黑点。

  • 闭运算可以消除图像轮廓内部的噪声

OpenCV中,也提供了图像闭运算的函数,和开运算库函数一样,唯一不同则为闭运算对应自己的参数,函数原型如下:

1)、函数原型:result =cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel)

img:需要进行开运算处理的图像

cv2.MORPH_CLOSE:图像进行闭运算需要填写的参数(进行闭运算时,该参数为固定参数不可改变)

kernel:卷积核模板,例如kernel = np.ones((5,5), np.uint8),5x5的卷积核

相关推荐
平凡但不平庸的码农5 小时前
Go Slice 详解
算法·golang
Jasmine_llq8 小时前
《B3867 [GESP202309 三级] 小杨的储蓄》
算法·循环遍历·数组累加(模拟)·索引定位·顺序输出
啦啦啦_99998 小时前
案例之 逻辑回归_电信用户流失预测
算法·机器学习·逻辑回归
风筝在晴天搁浅8 小时前
快手/字节 CodeTop LeetCode 415.字符串相加
算法·leetcode
DragonnAi9 小时前
猫咪如厕检测与分类识别系统系列【十四】 项目结构重新整理-即将开源完整算法
算法·开源
机器视觉_Explorer9 小时前
【halcon】编程技巧:鼠标擦除
图像处理·人工智能·深度学习·算法·视觉检测
灵智实验室10 小时前
PX4状态估计技术EKF2详解(二):EKF2 误差状态动力学与协方差传播
算法·无人机·px 4
米粒110 小时前
力扣算法刷题 Day 64 Floyd算法 & A* 算法 & 总结篇
算法·leetcode·职场和发展
XX風10 小时前
OpenGL中Face culling 面剔除的具体实现
算法·图形渲染
IT猿手11 小时前
光伏模型参数估计:基于山羊优化算法(GOA )的光伏模型参数辨识问题求解研究,免费提供完整MATLAB代码链接
开发语言·算法·matlab·群智能优化算法·智能优化算法·光伏模型参数估计·光伏模型参数辨识