我正在裁剪图像,并希望下一步调整大小。
Mat croppedimage = cropImage( image, rect );
Mat resizeimage = croppedimage.resize( any dimension ); //need to change this line
我该怎么做?
答案 0 :(得分:43)
我想,你想要this。
e.g。
Mat croppedimage = cropImage(image,rect);
Mat resizeimage = new Mat();
Size sz = new Size(100,100);
Imgproc.resize( croppedimage, resizeimage, sz );
答案 1 :(得分:2)
请阅读c ++方法手册Resize,这与java相同。
您可以选择插值类型。在某些情况下,获得最佳结果非常重要。
Mat croppedImage = cropImage(image,rect);
Mat resizeImage = new Mat(anyHeight, anyWidth, croppedImage.type());
int interpolation = Imgproc.INTER_CUBIC;
Imgproc.resize(croppedImage, resizeImage, resizeImage.size(), 0, 0, interpolation );
答案 2 :(得分:2)
如果要使用OpenCV java 缩放图像,请执行以下操作:
import static org.opencv.imgproc.Imgproc.*;
import static org.opencv.imgcodecs.Imgcodecs.imread;
主要代码:
Mat src = imread("imageName.jpg");
Mat resizeimage = new Mat();
Size scaleSize = new Size(300,200);
resize(src, resizeimage, scaleSize , 0, 0, INTER_AREA);
对于缩减,建议使用:INTER_AREA;对于缩减,建议使用INTER_CUBIC
有关更多详细信息:OpenCV Ref for Resize