Pytanie
Mam sekwencję obrazów reprezentujących informacje o głębi, które chciałbym wyczyścić. Istnieje kilka wartości odstających (wartości o intensywności poniżej 25, dla zakresu 0-255), które chciałbym wypełnić z dopuszczalną alternatywą (średnia wartość zlokalizowana w tym konkretnym obszarze może być dobrym domysłem).Usuwanie wartości odstających z obrazu w skali szarości
Czy ktoś może zobaczyć prosty sposób na zrobienie tego? Próbowałem użyć filtru medianowego (wielkość filtra 10), zastępując niepożądane wartości NaN, ale pogorszyło to sytuację, która poprawia zamiast tego, zastępując je ogólną średnią wartością.
PS: Ktoś już zaproponował mi użyć szybki falkowej rekonstrukcję, ale ja naprawdę nie wiem od czego zacząć ...
Wdrożone rozwiązanie (do tej pory)
Rozwiązanie I wdrożone (przed przeczytaniem o inpaint_nans
zasugerował przez tmpearce) jest:
- duplikowanie oryginalnego obrazu;
- wypełnianie nieprawidłowych pikseli ogólną wartością średnią;
- użyj okrągłej tarczy promienia 10, aby ją zamazać;
- zastąpienie nieprawidłowych wartości w oryginalnym obrazie, co dostałem od punktu 3.
- prowadzony mediana filtr o rozmiarze 10.
img2 = img;
img2(img < .005) = mean(img(:));
H = fspecial('disk',10);
img3 = imfilter(img2,H,'symmetric');
img4 = img;
img4(img < .3) = img3(img < .3);
filterSize = 10;
padopt = {'zeros','indexed','symmetric'};
IMG = medfilt2(img4, [1 1]*filterSize, padopt{p});
moje myśli dokładnie, zaledwie 20 sekund za późno. +1 – bla