我使用
将图像从左侧旋转到右侧的图像image = cv2.warpAffine(image, R, dst_size, flags=cv2.INTER_LINEAR)
其中dst_size
是(547, 363)
,我修改了R,以便原始图像适合新维度。
我用cv2.imshow('rect post-rotation', img)
显示图像以显示右侧的图像。您可以看到它被裁剪为(363, 547)
的大小,即使我打印出img形状时,我得到(547, 363, 3)
。
为什么图像的形状不能反映所显示图像的形状?
答案 0 :(得分:1)
您需要将目标尺寸设置为旋转尺寸,即:
cv::Size dst_size(imOrig.size().height,imOrig.size().width);
或者你可以使用转置和翻转90度旋转:
cv::Mat imRot90 = imOrig.t();
cv::flip(imRot90 ,imRot90 ,1);
欢呼声