Daha çox

Raster çörəkləri dairələrə çevirin

Raster çörəkləri dairələrə çevirin


Güman edək ki, 0-dan və 1-dən bir neçə pişi şəkilli üzükdən ibarət bir rastr görüntüsüm var. Bu raster, məsələn, gölməçələri və gölləri olan bir peyk görüntüsünü iki sinfə təsnif etməsinin nəticəsi ola bilər: 1) gölməçə sahil xətti, piksel dəyəri 1 və 2) digər, piksel dəyəri 0. Təəssürat üçün görüntüyə baxın.

Mənim çətinliyim piksel dəyəri 1 olan tam dairələr yaratmaqla hər bir çörək çuxurunu doldurmaqdır. Bunun üçün bütün ümumi funksiyaları olan ArcGIS -ə, həmçinin gdal bağlamaları olan ENVI və Python -a daxil ola bilərəm. İstədiyiniz nəticənin təəssüratı üçün ikinci görüntüyə baxın. Çox güman ki, çörək deliklərinin böyük olması istisna olmaqla əksəriyyət filtri müəyyən dərəcədə işləyəcək.

Donutların dairələrə çevrilməsi ilə bağlı hər hansı bir təklif xoş gəlir. Qapalı olmayan çöreklərlə də işləməsi üçün bonus xalları.


Axtardığınız şey a Riyazi Morfologiya tətbiq, Bağlanmaq dəqiq desək.

GDAL -dan istifadə edərək görüntünüzü sayısız bir massivə oxumaq üçün bu əməliyyatı dəstəkləyən bir çox kitabxana var. scipy.nimage bunlardan biridir və ikili çuxur doldurma funksiyasına malikdir.

Təsvir etdiyiniz kimi uydurma bir ikili məlumat dəsti üçün pythonda, çörekləri dairələrə çevirəcək:

skipy.ndimage.morphology -dən osgeo import gdal'dan binary_fill_holes donut_array = gdal.Open ("input.tif")

Bu üsul, doldurmaq üçün istifadə etdiyiniz quruluşdan asılı olaraq açıq çöreklərlə də işləyir. Konsepsiyanın sübutu olaraq bir nümunə dəftər və daha real dünya nümunəsi göstərən bir blog yazısı hazırladım.


Rasteri çoxbucaqlılara çevirin. Kenarları sadələşdirməyin.

Çoxbucaqlılar kimi pişi seçin

Çoxbucağın ArcGIS -də sahə kalkulyatorundan istifadə edərək bir çuxur olub olmadığını necə tapmaq olar

Sahə Şəklində sahə kalkulyatoru ifadəsini işlədin

def xarici (shp): sərhəd = shp.sərhəd () hissə = sərhəd.getPart (0) pgon = arcpy.Polygon (arcpy.Array (hissə)) qayıt pgon

Zəng etmək üçün istifadə edin:

xarici (! Forma!)

Nəticə:

Çoxbucaqlıları rasterə çevirin


Yalnız qapalı çörəyi doldurmaq istəyirsinizsə və riyazi morfologiya kimi bir neçə quruluş elementini sınamaq istəmirsinizsə, alternativ budur:

1) Bağlı piksellərin hər dəstinə unikal bir dəyər təyin etmək üçün "bölgə qrupu" ndan istifadə edin

2) Arxa planınızın dəyərindən başqa hamısını bir yerə təyin etmək üçün raster kalkulyatorundan istifadə edin.


Bir ArcGIS üçün istifadə edə bilərsinizBlok statistikasıstatistikadan istifadə etməkləÇoxluq. Bir az sınaq və səhv ola bilər məhəllə statistikasına ehtiyac var. Məsələn cəhd edə bilərsinizdairəvə yanizamsızçörəklər içərisində doldurulmasını xüsusi olaraq saxlamaq üçün fərqli radiuslu variantlar.


Videoya baxın: Ramazan süfrələrinə yaraşan Süd çörəyi çörəyinin hazırlanması.