Поворот прямоугольников - УГОЛ вернулся - Opencv
У меня проблемы с пониманием того, как работает OpenCV, когда дело доходит до RotatedRect.
Я выделил контур, и затем я пытаюсь наложить на него повернутый прямоугольник. Углы, которые я продолжаю получать, находятся в диапазоне только от 0 до -90. Даже если у меня есть контур, направляющий в другую сторону, перевернув его, я все равно получаю от 0 до -90 углов.
Моя задача - убедиться, что контур лежит на 0 градусов. И для этого я должен рассчитать ориентацию, а затем повернуть соответственно.
Как эти углы представлены в OpenCV (2.4.3)?
С уважением Wajih
2 ответа
В некоторых случаях RotatedRect
угол может быть одинаковым для повернутого контура на 180 градусов. Лучший способ выяснить, происходит ли это в вашем случае, это нарисовать подходящий RotatedRect.
Я думаю, что больше подходит для вашего случая контурные моменты.
Смотрите мои ответы там: Вращения и масштабирование сопоставления с инвариантным шаблоном в OpenCV и там: найти ориентацию изображения
Вы можете вычислить моменты с cv::Moments
: http://docs.opencv.org/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=moments
Я узнал, что угол находится между счетчиком и осью Y (из LearningOpenCV) . Вы ожидаете, что он будет от оси X?