如何调整在Java中使用OpenCV的图像?

问题描述 投票:15回答:3

我裁剪图像,并希望未来调整其大小。

Mat croppedimage = cropImage( image, rect );
Mat resizeimage = croppedimage.resize( any dimension ); //need to change this line

我怎样才能做到这一点?

java opencv image-resizing
3个回答
44
投票

我想,你想this

EG

Mat croppedimage = cropImage(image,rect);
Mat resizeimage = new Mat();
Size sz = new Size(100,100);
Imgproc.resize( croppedimage, resizeimage, sz );

2
投票
  1. 请阅读C ++的方法手动Resize这是相同的java的。
  2. 您可以选择一个类型插值的。在某些情况下,它是一个最好的结果很重要。 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
投票

如果你想使用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

© www.soinside.com 2019 - 2024. All rights reserved.