Generalizacja rastra - bufory w rastrach, rozwinąć piksele?

12

Czy można utworzyć bufory dla pikseli plików rastrowych? Właściwie muszę rozszerzyć piksele sklasyfikowane jako 1 (na rysunku na biało) o zakresie przestrzennym 1 lub 2 pikseli, aby wykonać pewne uogólnienie. Używam QGIS, czy jest to możliwe w przypadku gdal czy coś takiego?

wprowadź opis zdjęcia tutaj

vascobnunes
źródło

Odpowiedzi:

13

QGIS zapewnia interfejs do GRASS GIS, który rozpoczął życie jako rastrowy GIS i dlatego powinien zapewnić wydajne narzędzia do rozwiązania tego problemu. Odnosząc się do stron podręcznika poleceń rastrowych , możemy znaleźć następujące rozwiązania:

r. bufor - bezpośrednie buforowanie białych krwinek.

r. koszt - potrafi obliczyć odległości do białych krwinek. Postępuj zgodnie z porównaniem, aby wybrać komórki bliskie odległości.

r.grow - lokalna operacja morfologiczna zaprojektowana specjalnie w celu rozszerzenia białych krwinek do ich bezpośrednich sąsiadów.

r.mfilter - ogólny filtr ogniskowy. Różne statystyki ogniskowe, takie jak maksimum, średnia, suma, mediana i odchylenie standardowe, mogą wykryć obecność białych krwinek w lokalnych dzielnicach. Postępuj zgodnie z porównaniem, aby wybrać takie komórki.

r.neighbors - jeszcze bardziej ogólny filtr ogniskowy, którego można używać podobnie jak r.mfilter.

r. próbka - ponowne próbkowanie na grubszej siatce jest jednym ze sposobów rozszerzenia białych komórek. Rezultat będzie nieco „blokowy”.

r.spread - pozwolenie białym komórkom „rozprzestrzenić się” w ich sąsiedztwie osiągnie pożądane buforowanie.

Powinniśmy oczekiwać, że r.buffer, r.grow i być może r.mfilter użyją najbardziej wydajnego kodu. (Nie testowałem ich, żeby się dowiedzieć.)

Whuber
źródło
1

Twierdziłbym, że to możliwe. Po prostu nie jestem pewien, czy możesz to zrobić za pomocą QGIS, ponieważ nie znam go wystarczająco dobrze. Czy QGIS może przeprowadzać statystyki neigborhood? Zakładając, że czarne piksele mają zero, a białe piksele mają 1, to funkcja statystyczna sąsiedztwa 3x3 obliczająca maksimum komórek da „1” dla sąsiednich pikseli białej granicy. Następnie możesz wyizolować te piksele w drugiej procedurze (lub uruchomić statystyki sąsiedztwa po raz drugi dla drugiego rzędu pikseli).

Kreator G.
źródło