Używałem scikit-image do klasyfikowania funkcji dróg z pewnym sukcesem. Zobacz poniżej: . Mam problem z kolejnym krokiem, który polega na klasyfikacji funkcji. Na przykład załóżmy, że te funkcje znajdują się w polu (600, 800) i (1400, 600).Wyodrębnianie atrybutów z obrazów przy użyciu obrazu Scikit
Kod używam wyodrębnić informacji jest:
from skimage import io, segmentation as seg
color_image = io.imread(img)
plt.rcParams['image.cmap'] = 'spectral'
labels = seg.slic(color_image, n_segments=6, compactness=4)
Celem jest mieć tabeli w następującej formie:
Image, feature_type, starting_pixel, ending_pixel
001 a (600, 600), (1300, 700)
002 b (600, 600), (1100, 700)
002 undefined (700, 700), (900, 800)
feature_type
byłaby oparta na kolorach, idealnie ramiona będą miały jeden kolor, drzewa i pędzel będą inne, itp.
Jak mogę wyodrębnić dane, których potrzebuję? (to znaczy: scikit rozbija obraz na różne komponenty, w których znam położenie każdego komponentu, a następnie mogę przekazać każdy komponent do klasyfikatora, który określi, jaki jest każdy składnik) Dzięki!
Twoje pytanie wydaje się niejasne. Czy chcesz znaleźć obwiednię dla każdego obszaru funkcji? jeśli tak, czy chcesz, aby zachodziły na siebie lub nie nakładały się? Czy chcesz zmapować mapy obiektów na regularną siatkę z próbszą próbką? możesz wyjaśnić? – fireant
@fireant celem końcowym, czy zrobię to na całym obrazie, czy na małym polu ograniczającym, jest identyfikacja funkcji opartych na "kolorach". Tak więc droga będzie (1), ramię (2), rów 3), drzewa (4), itp. – dassouki
Ale dlaczego nie po prostu pokroisz albo obraz, albo klasyfikację? Scikit Image działa z ndarray, możesz zrobić "color_image [600: 800,1400: 1600 ,:]". Czy źle to interpretuję? – armatita