图像滤波与形态学操作

编程入门 行业动态 更新时间:2024-10-04 09:22:23

图像滤波与<a href=https://www.elefans.com/category/jswz/34/1769252.html style=形态学操作"/>

图像滤波与形态学操作

图像滤波

==&mid=2247591782&idx=2&sn=0e8d98fe35ec1599affefd5551468bb9&chksm=fb54858acc230c9c18f0e1b042dfbc18bdee6f911c2eaf3f5228b1957384369963bec0f38793&scene=27

修改像素值,改变像素周围像素值:去噪、平滑、锐化

应用

* 去噪声

* 锐化、平滑

* 边缘检测

* 形态学处理:处理二值图像

* 图像重构:强化重点,弱化其他内容(语义上的去噪声)

分类

线性:通过将目标像素周围的像素进行加权平均或者求和,得到目标像素的灰度值。**卷积核**

* 均值滤波:

用每一个像素周围的像素的平均值代替自身

均值滤波与卷积

卷积

`cv2.filter2D(src, ddepth, kernel[, dst[, anchor[, delta[, borderType]]]]) -> dst`

- src:输入图像

- ddepth:输出图像的深度,如果为-1,则输出图像的深度与输入图像一致。

- kernel:卷积核

- dst:输出图像

- anchor:卷积核中心的位置,默认值为(-1, -1),表示卷积核的中心点为卷积核的中心。

- delta:可选的增量,用于调整卷积的结果。

- borderType:边界填充方式,默认值为cv2.BORDER_DEFAULT。

import cv2img = cv2.imread("../../dataset/noise_lena.png", 0)
h, w = img.shape
# 定义滤波核
kernel_size = 11
kernel = np.ones((kernel_size, kernel_size), dtype=np.float32)
# 方案一
# 添加pand
padding = kernel_size // 2
# 对图像进行填充,这里使用了复制边界的方式
img_pad = cv2.copyMakeBorder(img, padding, padding, padding, padding, cv2.BORDER_REPLICATE)
print(img_pad.shape, img.shape)
# 构建输出图像
img_out = np.zeros((h, w), dtype=np.uint8)
# 进行卷积操作
for i in range(padding, h+padding):for j in range(padding, w+padding):# 对于每个像素,取它周围kernel_size*kernel_size个像素的平均值,作为它的输出值roi = img[i-padding:i+padding+1, j-padding:j+padding+1]img_out[i-padding, j-padding] = np.mean(roi, axis=(0, 1))
plt.subplot(1, 2, 1)
plt.imshow(img)
plt.subplot(1, 2, 2)
plt.imshow(img_out)
plt.show()
# 方案二
# 定义均值卷积核
kernel = np.ones((kernel_size, kernel_size), np.float32) / kernel_size**2
# 对图像进行卷积操作
img_out = cv2.filter2D(img, -1, kernel)
plt.subplot(1, 2, 1)
plt.imshow(img)
plt.subplot(1, 2, 2)
plt.imshow(img_out)
plt.show()

* 中值滤波(非线性):

处理椒盐噪声(雪花点)和斑点

* 高斯滤波:

去除高斯噪声,

更多推荐

图像滤波与形态学操作

本文发布于:2024-02-14 07:38:58,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1762115.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:形态学   图像   操作

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!