Mam obrazu, który wygląda tak:MATLAB przetwarzania obrazu z niewielkich okręgów
mam zadanie, w którym powinienem krąg wszystkie butelki wokół ich otwarcia. Stworzyłem prosty algorytm i zacząłem pracować. Mój algorytm następujący:
- Próg oryginalny obraz
- Czy jakieś morfologiczne otwór w nim
- użyciu regionu rekwizyty takie, że tylko ekwiwalent obszar do wypełnienia pustych otworów
- oddzielić część obrazu usta butelki są wybrane.
- Znajdź centroid dla każdego i narysuj okrąg wokół każdej butelki.
Zrobiłem zgodnie z powyższym algorytmem, ale mam część obrazu, wokół której narysowałem okrąg. Wynika to z faktu, że wybrałem obszar od czasu wylotu butelki, a pozostały hałas jest prawie taki sam. Więc wydałem taką postać.
Przetwarzanie stosowane na wygląd obrazu jak ta:
I moim ostatnim obrazem po kreślenia krąg nad obrazem oryginalnym jest tak:
myślę Mogę sobie poradzić z dodatkowym kręgu, to znaczy z powodu jakiejś białej części obrazu pozostałej, jak pokazano na rysunku 2 poniżej. Można to odfiltrować za pomocą regionalnej techniki ekscentryzacji. Czy to dobry pomysł, czy są inne podejścia do tego? Jak poradzić sobie z innymi butelkami za szybą i wybrać je?
Innym pomysłem jest użycie [transformacji Hough] (http://en.wikipedia.org/wiki/Hough_transform) do [wykrycia kół] (http://www.cis.rit.edu/class/simg782/lectures /lecture_10/lec782_05_10.pdf) – Amro
możliwy duplikat [Najlepszego algorytmu dopasowywania okręgów] (http://stackoverflow.com/questions/4387488/the-est-circle-fitting-algorithm) – abcd
Istnieje kilka swobodnie dostępnych implementacji MATLAB [Circular Hough transform] (http://www.mathworks.com/matlabcentral/fileexchange/?term=hough+transform+circle) na centralnej bazie danych MATLAB. –