中值滤波程序,具有参数输入功能,
时间: 2023-05-26 13:05:33 浏览: 84
以下是Python中的中值滤波程序,可以根据需要输入滤波器大小和图像文件名:
```
import numpy as np
import cv2
import argparse
# 设置命令行参数
parser = argparse.ArgumentParser()
parser.add_argument("-i", "--image", required=True, help="path to input image")
parser.add_argument("-k", "--kernel", type=int, default=3, help="size of median filter kernel")
args = vars(parser.parse_args())
# 读取图像
image = cv2.imread(args["image"])
# 中值滤波
median = cv2.medianBlur(image, ksize=args["kernel"])
# 显示结果
cv2.imshow("Original Image", image)
cv2.imshow("Median Filtered Image", median)
cv2.waitKey(0)
```
以上程序使用了Python的argparse库,可以从命令行中传入参数。如下面的例子,运行程序时输入图像文件名和滤波器大小。
```
python median_filter.py --image example.jpg --kernel 5
```
该程序会读取example.jpg图片,并使用大小为5的中值滤波器进行滤波,然后将原图和滤波后的图像展示出来。
阅读全文