python彩色图像自适应中值滤波器并保存得到的彩色图像
时间: 2023-07-26 20:12:56 浏览: 90
要保存得到的彩色图像,只需要在调用cv2.imwrite函数时传递保存路径和图像对象即可。以下是完整的代码示例:
```python
import cv2
import numpy as np
# 载入彩色图像
img = cv2.imread('color_img.jpg')
# 定义自适应中值滤波器函数
def adaptive_median_filter(img, window_size):
img_output = np.copy(img)
for channel in range(3):
channel_img = img[:, :, channel]
median = cv2.medianBlur(channel_img, window_size)
img_local = channel_img - median
img_local_max = cv2.dilate(img_local, np.ones((window_size, window_size)))
img_local_min = cv2.erode(img_local, np.ones((window_size, window_size)))
img_local_max_min_diff = img_local_max - img_local_min
img_local_max_min_diff_mask = img_local_max_min_diff > 0
img_output[:, :, channel][img_local_max_min_diff_mask] = median[img_local_max_min_diff_mask]
return img_output
# 调用自适应中值滤波器函数并得到结果
filtered_img = adaptive_median_filter(img, 3)
# 保存结果
cv2.imwrite('filtered_color_img.jpg', filtered_img)
# 显示结果
cv2.imshow('Filtered Image', filtered_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在保存图片时,需要传递保存路径和图像对象两个参数,这里的保存路径为'filtered_color_img.jpg',可以根据自己需要修改。执行完上述代码后,会在当前工作目录下生成名为'filtered_color_img.jpg'的彩色图像文件。
阅读全文