python不调用库函数对照片进行中值滤波
时间: 2023-05-28 14:02:17 浏览: 64
以下是使用Python实现中值滤波的示例代码,不使用任何库函数:
```
import numpy as np
import cv2
# 读取图像
img = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)
# 中值滤波
def median_filter(img, ksize):
height, width = img.shape
output = np.zeros((height, width), dtype=np.uint8)
pad = ksize // 2
for i in range(pad, height - pad):
for j in range(pad, width - pad):
kernel = img[i - pad:i + pad + 1, j - pad:j + pad + 1]
median = np.median(kernel)
output[i, j] = median
return output
# 调用中值滤波函数
output = median_filter(img, ksize=3) # ksize可以自己调整,越大滤波效果越明显
# 显示原图和处理后的图像
cv2.imshow("Original Image", img)
cv2.imshow("Median Filtered Image", output)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这个示例代码将从文件读取灰度图像,并使用3x3大小的中值滤波来处理图像。你可以按照实际情况更改滤波器大小。