Ich habe versucht zu verstehen, Maskierung und wie es mit Bild-Filter funktioniert. Ich verwende den folgenden Code, um zu versuchen, mein Verständnis zu entwickeln.Versuchen, Maskierung zu verstehen
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)
In den Ergebnissen median_unmasked! = Median_masked wie ich erwarten würde, aber img_masked_filtered == img_unmasked_filtered, die ich nicht will. scipy.ndimage.median_filter erledigt genau den Job, den ich brauche, funktioniert aber nicht mit maskierten Bildern. Was kann ich verwenden, das dasselbe wie der Medianfilter tut, aber der auf einem maskierten Bild funktioniert?
Die seltsame Größe, die ich für das Array verwende, ist, weil das die Größe des Bildes ist, das ich schließlich filtern möchte.