java端使用opencv旋转图片

2022-11-08 13:03

简单的90,180,270度旋转,可以使用core的rotate方法

System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Mat source = Imgcodecs.imread(path,Imgcodecs.IMREAD_GRAYSCALE);

Core.rotate(source ,source ,Core.ROTATE_90_CLOCKWISE);

Imgcodecs.imwrite(path + "_rotate.jpg", source );

核心方法就是Core.rotate()

第一个参数是原图,第二个是结果图,第三个参数标识 旋转的角度 有如下几个

Core.ROTATE_90_CLOCKWISE // 顺时针90度

Core.ROTATE_180 // 180度

Core.ROTATE_90_COUNTERCLOCKWISE // 逆时针90度


其他角度的旋转,涉及到中间点的计算,并且在图片不是正方形的情况下,需要计算高和宽,和图片的定位。

以后用到了再来写。

# opencv