OpenCV 매트를 지정된 각도만큼 회전시키는 코드를 작성했습니다. 다음 코드를 사용하여 매트 중심을 성공적으로 회전 시켰지만 이미지가 사각형이 아니기 때문에 회전 된 이미지의 중심이 새 이미지의 중심이 아니며 이미지의 일부가 새로운 매트.회전 된 OpenCV 매트를 변환하는 방법
Point2f src_center(source.cols/2.0F, source.rows/2.0F);
Mat rot_mat = getRotationMatrix2D(src_center, angle, 1.0);
Mat final;
final.create(calculateHeight(source.cols, source.rows, angle), calculateWidth(source.cols, source.rows, angle), CV_32FC1);
warpAffine(source, final, rot_mat, final.size());
참고 calculateHeight 및 calculateWidth 단순히 원래 매트의 치수와 그 회전되는 각도에 기초하여 새로운 매트의 크기를 결정하는 방법이다.
예 : rotated image
가 어떻게이 회전 매트가 경계 내에 중앙 결과적되는 방식으로 매트를 회전 않습니다 Original image가 회전?
@ rold2007이 질문은 링크 된 질문 2 년 전에 질문되었습니다. 위의 질문에는 내가 당시에 찾고 있던 것이 있지만 복제본입니다. – KSletmoe
예, 이전에 알아 차 렸지만 질문에 대답이 없으므로 다른 방법으로 해결할 수 없습니다. 나는 이것이 중재자가 알 수있을 것 같은, 그래서 중복 된 깃발을 생각할 정도로 어떻게 처리되어야하는지 모른다. – rold2007