我需要将一张图片旋转90度、180度或270度。在OpenCV4Android中,我可以使用:
Imgproc.getRotationMatrix2D(new Point(center, center), degrees, 1);
Imgproc.warpAffine(src, dst, rotationMatrix, dst.size());
然而,这是我图像处理算法的一个巨大瓶颈。当然,将图像旋转多个90度的简单旋转比warpAffine
的最普通情况要简单得多,并且可以更有效地完成。例如,对于180度,我可以使用:
Core.flip(src, dst, -1);
当值为-1时,表示对水平和垂直轴进行翻转。是否有类似的优化方法可用于90度或270度旋转?
Core.rotate(mRgba, mRgba, Core.ROTATE_180);
和Core.flip(mRgba, mRgba, -1);
在我的小米红米4 Prime上都需要大约12-14毫秒的CPU时间。性能非常差。我想反转相机字节帧,但这太耗费资源了。 - user924