【发布时间】:2018-02-04 01:23:16
【问题描述】:
我一直在尝试了解遮罩以及它如何与图像过滤器一起使用。我正在使用以下代码来加深我的理解。
import scipy.ndimage as ndi
import matplotlib.pyplot as plt
import numpy as np
# Generate a random binary mask
np.random.seed(seed=182)
mask = np.random.randint(2, size=(901, 877))
img = np.random.rand(901, 877)
img_masked = np.ma.masked_array(img, mask = mask)
img_masked_filtered = ndi.median_filter(img_masked, size=10)
img_unmasked_filtered = ndi.median_filter(img, size=10)
median_masked = np.ma.median(img_masked)
median_unmasked = np.ma.median(img)
在结果中,如我所料,median_unmasked != median_masked,但我不想要 img_masked_filtered == img_unmasked_filtered。 scipy.ndimage.median_filter 正是我需要的工作,但它不适用于蒙版图像。我可以使用什么来做与中值过滤器相同的事情,但它可以在蒙版图像上工作?
我对数组使用的奇怪大小是因为这是我最终要过滤的图像的大小。
【问题讨论】:
标签: python image numpy scipy mask