// 均值滤波结果图像应当命名为 meanResult.tif // 中值滤波结果图像应当命名为 medianResult.tif // 请在此函数中调用中值滤波和均值滤波函数
时间: 2024-10-10 12:03:13 浏览: 21
在图像处理中,通常会创建两个函数来分别应用均值滤波和中值滤波,然后对原始图像进行平滑处理。假设你有一个名为`apply_filter`的函数模板,它接受一个图像文件名和滤波类型作为输入,我们可以这样设计:
```python
import cv2
from skimage import filters
def apply_filter(image_path, filter_type):
# 加载图像
img = cv2.imread(image_path, 0) # 读取灰度图像
if not img:
print("Failed to load image.")
return
# 根据filter_type调用相应的滤波函数
if filter_type == "mean":
filtered_img = filters.gaussian(img, sigma=1) # 使用均值滤波
output_filename = "meanResult.tif"
elif filter_type == "median":
filtered_img = filters.median(img, size=3) # 使用中值滤波,这里size=3代表3x3窗口大小
output_filename = "medianResult.tif"
else:
print(f"Unsupported filter type: {filter_type}. Using mean filter as default.")
filtered_img = filters.gaussian(img, sigma=1)
output_filename = "meanResult.tif"
# 保存滤波后的结果
cv2.imwrite(output_filename, filtered_img)
# 调用函数示例
apply_filter("input_image.tif", "mean") # 对输入图像应用均值滤波
apply_filter("input_image.tif", "median")
阅读全文