Мне нужен код для вращения изображения в C++, который функционирует как imrotate функция matlab. Предложите хорошую ссылку. Или если кто-то может предоставить код для imrotate.
Или, по крайней мере, объясните алгоритм.
Не домашняя работа. Мне нужен этот код для моего проекта. И мы можем пользоваться любой внешней библиотекой или кодом.
OpenCV2.0 имеет несколько инструментов компьютерного зрения и обработки изображений. В частности, warpAffine (путем определения матрицы поворота) решит вашу проблему с поворотом изображения.
Матрица преобразования 2x3, упомянутая в документации, имеет следующий вид:
где θ - угол поворота, а t x и t y - это сдвиг по осям x и y соответственно.
Вы можете получить исходный код здесь .
Кроме того, OpenCV2.0 имеет множество функций в стиле MATLAB, таких как imread
и т. Д.
Проверьте это, надеюсь, это поможет.
Другие вопросы на stack overflow по той же теме мнение экспертов по этому поводу.
В C ++ нет встроенного способа сделать это, за исключением написания собственной функции для манипулирования двоичными данными, что порождает другие проблемы, такие как «Как распаковать jpg / png в C ++?»
Ваше лучшее bet - это сторонняя графическая библиотека, такая как libSDL