2010-02-17 28 views
6

Potrzebuję kodu do obracania obrazu w C++, który działa jak funkcja imrotate programu Matlab. Proszę sugerować dobry link. Lub jeśli ktoś może podać kod dla imrotate.Obracanie obrazu w C/C++

Albo przynajmniej wyjaśnij algorytm.

To nie jest praca domowa. Potrzebuję tego kodu do mojego projektu. Możemy użyć dowolnej biblioteki zewnętrznej lub kodu.

Odpowiedz

8

OpenCV2.0 ma kilka widzenia komputerowego i przetwarzania obrazu narzędzia. W szczególności warpAffine (poprzez zdefiniowanie macierzy obrotu) rozwiąże problem z obracaniem obrazu.

macierz transformacji 2x3 wspomniano w dokumentach przedstawia się następująco: alt text

gdzie θ jest kątem obrotu i t x i T Y jest translacja wzdłuż x i y osi odpowiednio.

Możesz pobrać kod źródłowy here.

Również OpenCV2.0 ma wiele MATLAB-esque funkcje jak imread itd

+1

(+1) Mój znajomy używa tej biblioteki i uwielbia ją Zobacz tutaj http://ashish-newday.blogspot.com/2009/12/mouse-cursor-position-control-using-our.html –

+1

Ale nie ma obrazu warpImage in openCV – avd

+1

Mój zły, zaktualizowałem go do poprawnej funkcji 'warpAffine' – Jacob

1

Check ta nadzieja pomaga.

Inne pytania na przepełnienie stosu na opinii ekspertów same topic na nim.

3

Magick może pomóc. Przeczytaj this PDF i wyszukaj obrót.

+0

Imagemagick, najlepszym rozwiązaniem dla Ciebie – Craig

0

Nie ma wbudowanego sposobu na osiągnięcie tego w C++, bez napisania własnej funkcji do manipulowania danymi binarnymi, co daje inne problemy, takie jak "Jak rozpakować plik jpg/png w C++?"

Najprościej jest 3rd biblioteki graficznej firm, takie jak libSDL

+0

Pytanie jest całkowicie poprawny sposób, aby poprosić o bibliotece, która jest skorelowane z C++. – slim

+1

... Sądzę, że połączyłem go z biblioteką, do której można się podłączyć? – meagar