如何解决为什么 scikit 中值滤波器会产生空白输出图像?
我正在尝试使用 median
的 Scikit Image
过滤器对以下图片进行降噪。
这是一张尺寸为 250 X 100 像素的图片。像素为黑色或白色。
dtype=uint8
shape=(100,250)
max=255
min=0
这是 Python 脚本
import os
from skimage import io
from skimage.filters.rank import median
from skimage.morphology import disk
def median_filter(inputfilename):
folder_script=os.path.dirname(__file__)
absolute_filename=os.path.join(folder_script,"./in/",inputfilename)
original= io.imread(absolute_filename,as_gray=True)
median_filtered=median(original,disk(50)) #5,10,20,100
filename_result="median-filter-output.png"
file_result=os.path.join(folder_script,"./out/",filename_result)
io.imsave(file_result,median_filtered)
median_filter(inputfilename="NoisySine.png")
生成的图像始终为空白(全白)。我确定我做错了什么 - 但不清楚在哪里。
有什么建议吗?
谢谢,
骚
解决方法
因为你的图像几乎是全白的,所以这么大的磁盘的中间也是白色的。
作为一个极端的例子,想象一个有 51% 的白色像素和 49% 的黑色像素的磁盘 -> 中位数将为白色。在你的情况下看起来至少 95% 白人统治。
顺便说一句,它是 as_grey
而不是 as_gray
(更新:是这样但不再是这样,请参阅下面的@Juan 评论)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。