用python写一个图像中值滤波代码
时间: 2024-05-12 21:17:41 浏览: 122
zhongzhi.rar_中值 图像_中值滤波
可以的,以下是一个简单的 Python 中值滤波函数实现:
```python
import numpy as np
import cv2
def median_filter(image, kernel_size):
# 获取图像尺寸
h, w = image.shape
# 创建一个空的输出图像
output = np.zeros((h, w), dtype=np.uint8)
# 计算滤波器的边缘
border = kernel_size // 2
# 迭代每个像素
for i in range(h):
for j in range(w):
# 从图像中提取 kernel_size x kernel_size 区域
roi = image[max(0, i - border):min(h, i + border + 1),
max(0, j - border):min(w, j + border + 1)]
# 计算中值
output[i, j] = np.median(roi)
return output
```
使用 OpenCV 库加载和显示图像的示例代码:
```python
import cv2
# 加载图像
image = cv2.imread('your_image_path.jpg', cv2.IMREAD_GRAYSCALE)
# 中值滤波
filtered_image = median_filter(image, kernel_size=3)
# 显示原始图像和滤波后的图像
cv2.imshow('Original Image', image)
cv2.imshow('Filtered Image', filtered_image)
cv2.waitKey(0)
```
希望这可以帮助你!
阅读全文