均值滤波python代码
时间: 2023-10-12 07:55:58 浏览: 215
均值滤波代码
以下是一个使用均值滤波的简单Python代码示例:
```python
import numpy as np
import cv2
def mean_filter(image, kernel_size):
# 获取图像的高度和宽度
height, width = image.shape[:2]
# 创建一个和原图像相同大小的零矩阵
filtered_image = np.zeros_like(image)
# 计算卷积核的边界
border = kernel_size // 2
# 对每个像素进行滤波
for i in range(border, height - border):
for j in range(border, width - border):
# 获取感兴趣区域(ROI)
roi = image[i - border: i + border + 1, j - border: j + border + 1]
# 计算ROI的均值
mean_value = np.mean(roi)
# 将均值赋给滤波后的像素
filtered_image[i, j] = mean_value
return filtered_image
# 读取图像
image = cv2.imread('input_image.jpg', cv2.IMREAD_GRAYSCALE)
# 指定卷积核大小
kernel_size = 3
# 使用均值滤波
filtered_image = mean_filter(image, kernel_size)
# 显示原始图像和滤波后的图像
cv2.imshow('Original Image', image)
cv2.imshow('Filtered Image', filtered_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
请确保安装了NumPy和OpenCV库,并将输入图像路径替换为实际图像路径。这段代码将读取一张灰度图像,应用均值滤波,并显示原始图像和滤波后的图像。
阅读全文