java opencv图片倾斜校正之后,图片变大了好几倍

opencv图片倾斜校正之后,图片变大了好几倍

public static Mat rotation2(Mat srcMat, Mat cannyMat, RotatedRect rect, double angle) {
    // 获取矩形的四个顶点
    Point[] rectPoint = new Point[4];
    rect.points(rectPoint);
    System.out.println("canny type :" + cannyMat.type());

    Point center = rect.center;
    Mat CorrectImg = new Mat(cannyMat.size(), cannyMat.type());

    // 得到旋转矩阵算子
    Mat matrix = Imgproc.getRotationMatrix2D(center, angle, 1);

    Imgproc.warpAffine(srcMat, CorrectImg, matrix, CorrectImg.size(), 1, 0, new Scalar(255, 255, 255));

    return CorrectImg;
}

原图173kb,矫正后变成1038kb

一开始以为是位深度问题,但是使用BufferedImage去旋转也是同样的位深度,大小只有217kb,可以接受,但是ImageIO.write写入png图片太慢了,有人遇到过相同的问题吗?要怎么解决

插个眼,如果有ImageIO.write写入png图片的速度加快的办法,麻烦告诉下我