2014-01-03 4 views
8

Я обрезаю изображение и хочу изменить его размер следующим образом.Как изменить размер изображения на Java с помощью OpenCV?

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

Как это сделать?

+0

Заголовок говорит: «Как изменить размер изображения с OpenCV», но ответ описывает, чтобы изменить размер «обрезанного изображения» не Java файла или Java буферизацией изображения или что-то еще. Поэтому мой вопрос: «Как получить объект Mat из BufferedImage или хотя бы File?» – webmaster

ответ

32

думаю, вы хотите this.

например.

Mat croppedimage = cropImage(image,rect); 
Mat resizeimage = new Mat(); 
Size sz = new Size(100,100); 
Imgproc.resize(croppedimage, resizeimage, sz); 
0
  1. Пожалуйста, прочитайте инструкцию для С ++ метод Resize это то же самое Явы.

  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); 
    
Смежные вопросы