有一个图像不要填充边框,不要过滤边框。通过做中值,平均,用3 * 3蒙版过滤来获取过滤图像
时间: 2024-02-24 13:54:37 浏览: 21
好的,我可以为您提供实现该任务的Python代码,具体如下:
```python
import cv2
import numpy as np
# 读取原始图像
img = cv2.imread('image.jpg')
# 获取图像的宽和高
height, width = img.shape[:2]
# 定义中值滤波器的大小
kernel_size = 3
# 定义平均滤波器的大小
blur_size = 3
# 中值滤波
median = cv2.medianBlur(img, kernel_size)
# 平均滤波
blur = cv2.blur(img, (blur_size, blur_size))
# 3x3蒙版
mask = np.array([[-1,-1,-1], [-1,9,-1], [-1,-1,-1]], dtype=np.float32) / 9
mask_img = cv2.filter2D(img, -1, mask)
# 显示原始图像和结果图像
cv2.imshow('Original Image', img)
cv2.imshow('Median Filtering', median)
cv2.imshow('Average Filtering', blur)
cv2.imshow('Mask Filtering', mask_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
其中,`cv2.medianBlur()`函数实现中值滤波,`cv2.blur()`函数实现平均滤波,`cv2.filter2D()`函数实现2D卷积操作,可以用于3x3蒙版过滤。需要注意的是,在使用蒙版过滤时,需要将蒙版元素的和归一化为1,以确保输出图像的亮度不变。