Witam poszukuję efektywnego algorytmu do odnajdowania kątu obrotu w obrazie. Jedyne co mi do tej pory przychodziło do głowy to binaryzacja i sumowanie wartości pixeli z obrazu lecz to jest mało efektowne rozwiązanie. Nie chce korzystać z opencv czy innych gotowych bibliotek. Dodam że nie ma linia prostych na obrazie i jedynie chyba w ostateczności mógłbym wpisać w jakieś elementy obrazu okręgi ale co robić dalej z tym... Pomoże ktoś ?
Co to jest kąt obrotu w obrazie?
- Rejestracja:ponad 11 lat
- Ostatnio:ponad 9 lat
- Postów:6
"Pod jakim kątem jest obrócone zdjęcie jego wnętrza i dlaczego akurat pod takim?" Robię zdjęcie raz a statyw ma jedną nogę krótsza przez co zdjęcie jest pod jakimś tam kątem zrobione. Żeby nie robić 2 zdjęcia chcę wykryć kąt tak by spoziomować dom.
- dom.jpg (34 KB) - ściągnięć: 234
- Rejestracja:ponad 11 lat
- Ostatnio:ponad 9 lat
- Postów:6
Tak dokładnie tak :) Teraz myślę że może da się to ustalić przez przepuszczenie bucket fill na obrazie zbinarowanym by ustalić chociaż może środki obiektów i wyszukać jakieś okręgi by ustalić jakieś proste, tak chyba było w opencv.
Pomysł zupełnego laika w przetwarzaniu obrazów:
Dla prostej nachylonej pod pewnym kątem wyliczyć współczynnik korelacji pomiędzy odległością punktów obrazu od tej prostej i kolorem w tych punktach, oczywiście na jakiejś próbce. Zmieniać kąt prostej z jakimś skokiem i obserwować zmiany współczynnika korelacji. Znaleźć kąt, dla którego ten współczynnik jest największy.

- Rejestracja:około 17 lat
- Ostatnio:4 minuty
- najpierw robisz obraz czarno biały (możesz na kilka sposobów)
- Robisz transformatę Hough (niekoniecznie na całym obrazie, ale na dużych fragmentach).
- liczysz średnią dla wszystkich katów (lub tylko te co cię interesują)
- albo jeszcze lepiej średnią dla jakiegoś kąta i kąta o 90 stopni większego.
- Szukasz wartości maksymalnej tej średniej dla otoczenia oczekiwanego konta (0/90 stopni).
- gotowe
Jeśli obraz nie ma wielu linii prostych to wykrycie kąta obrotu obrazu będzie bardzo skompilowane.
Najlepiej pokaż przykładowe obrazy.

- Rejestracja:prawie 22 lata
- Ostatnio:około 2 godziny
- Postów:6635
Kiedyś kombinowałem z tym skryptem w imagemagick - http://www.fmwconcepts.com/imagemagick/multicrop/index.php
Spróbuj ;) Zobacz ilustracje.
- Rejestracja:ponad 11 lat
- Ostatnio:ponad 9 lat
- Postów:6
MarekR22 napisał(a):
Te obrazy opisaną przez mnie metodą przetworzą się bez najmniejszego problemu.
Z tą różnicą, że powinieneś szukać minimum albo robić analizę na negatywie (masz ciemne linie).
Na tych obrazkach A1, 2 nie działa kompletnie ten algorytm (rysował mi linie po całym obrazie) zacząłem się zastanawiać dlaczego, ponieważ inne obrazy działają z tym że muszą to być np sztucznie robione (odpal painta i narysuj kulki) wtedy dorysowuje proste i mam powiedzmy proste przecięte pod jakimś tam szukanym kątem. Z kolei jak zbinaryzowałem obraz, dałem negatyw oraz filtr medianowy to też miał problemy dopiero jak wpisałem okręgi w większe obiekty to od razu sobie poradził z dopisaniem prostych.
Robię coś źle ?
- Rejestracja:ponad 11 lat
- Ostatnio:dzień
- Postów:419
http://www.mathworks.com/help/vision/examples/find-image-rotation-and-scale-using-automated-feature-matching.html przykład obliczenia kątu obrotu i proporcji przeskalowania obrazu