W mojej obecnej analizie danych mam kilka segmentowanych obrazów, jak na przykład poniżej.Dopasuj krzywą do segmentowanego obrazu
Mój problem polega na tym, że chciałbym dopasować wielomian lub splajn (s. Jednowymiarowy) do pewien obszar (czerwony) w segmencie obrazu. (wynikiem będzie czarna linia).
Zwykle używam czegoś w rodzaju regresji ortogonalnej, problem polega na tym, że ta potrzebuje jakiejś funkcji dopasowania, której nie mam w tym przypadku. Więc jaki byłby najlepszy sposób, aby to zrobić z python/numpy? Czy istnieje jakiś standardowy algorytm dla tego rodzaju problemu?
UPDATE: wydaje moje umiejętności rysunkowe nie są chyba najlepsze, czerwony obszar na zdjęciu mogą również mieć jakieś szumy i nie muszą być całkowicie podłączone (nie może być małe luki spowodowane na hałas).
UPDATE2: Ogólnym celem będzie posiadanie sparametryzowanej krzywej p (t), która zwraca pozycję tj. P (t) => (x, y) dla t w [0,1]. gdzie t = 0 początek czarnej linii, t = 1 koniec czarnej linii.
Musisz eksperymentować, ale wszystko, czego potrzebujesz powinny być dostępne w ['skimage.morphology'] (http://scikit-image.org/docs/dev/api/skimage.morphology.html). Zgaduję, że będziesz chciał zrobić ['closing'] (http://scikit-image.org/docs/dev/api/skimage.morphology.html #closing), aby usunąć szum, przed konwersją lub po niej na obraz binarny, prawdopodobnie przez progowanie, a następnie ['szkieletuj] (http://scikit-image.org/docs/dev/api/skimage.morphology.html#skimage.morphology.skeletonize). – Jaime
Załóżmy, że dostaję akceptowalnego szkieletu z mojej tablicy. Jaki byłby następny krok do uzyskania wielomianu/splajnu. – jrsm
Warto zajrzeć na stronę Stack Exchange http://dsp.stackexchange.com/, jeśli zamierzasz robić coś bardziej skomplikowanego. – Hooked