我正在使用以下方法旋转图像Mat src,角度为angle degrees,利用opencv dll执行此操作。
但是,输出图像需要调整大小和重新缩放。
根据旋转角度如何决定缩放因子以保留原点?目前,我已将缩放因子设置为1.0。
此外,根据旋转角度应如何操纵图像的新尺寸?
1. 在90度旋转后获得的图像:
2. 期望的结果:
如何获得图像2?
private static Mat deskew(Mat src, double angle) {
Point center = new Point(src.width() / 2, src.height() / 2);
Mat rotImage = Imgproc.getRotationMatrix2D(center, angle, 1.0);
Size size = new Size(src.width(), src.height());
Imgproc.warpAffine(src, src, rotImage, size, Imgproc.INTER_LINEAR
+ Imgproc.CV_WARP_FILL_OUTLIERS);
return src;
}