Вы можете выполнить масштабирование изображения, используя метод resize () класса imgproc . Ниже приводится синтаксис этого метода.
resize(Mat src, Mat dst, Size dsize, double fx, double fy, int interpolation)
Этот метод принимает следующие параметры —
-
src — Объект Mat, представляющий источник (входное изображение) для этой операции.
-
dst — объект Mat, представляющий место назначения (выходное изображение) для этой операции.
-
dsize — объект Size, представляющий размер выходного изображения.
-
fx — переменная типа double, представляющая масштабный коэффициент вдоль горизонтальной оси.
-
fy — переменная типа double, представляющая масштабный коэффициент вдоль вертикальной оси.
-
Интерполяция — целочисленная переменная, представляющая метод интерполяции.
src — Объект Mat, представляющий источник (входное изображение) для этой операции.
dst — объект Mat, представляющий место назначения (выходное изображение) для этой операции.
dsize — объект Size, представляющий размер выходного изображения.
fx — переменная типа double, представляющая масштабный коэффициент вдоль горизонтальной оси.
fy — переменная типа double, представляющая масштабный коэффициент вдоль вертикальной оси.
Интерполяция — целочисленная переменная, представляющая метод интерполяции.
пример
Следующая программа демонстрирует, как применить масштабное преобразование к изображению.
import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.core.Size; import org.opencv.imgcodecs.Imgcodecs; import org.opencv.imgproc.Imgproc; public class Scaling { public static void main(String args[]) { // Loading the OpenCV core library System.loadLibrary( Core.NATIVE_LIBRARY_NAME ); // Reading the Image from the file and storing it in to a Matrix object String file ="E:/OpenCV/chap24/transform_input.jpg"; Mat src = Imgcodecs.imread(file); // Creating an empty matrix to store the result Mat dst = new Mat(); // Creating the Size object Size size = new Size(src.rows()*2, src.rows()*2); // Scaling the Image Imgproc.resize(src, dst, size, 0, 0, Imgproc.INTER_AREA); // Writing the image Imgcodecs.imwrite("E:/OpenCV/chap24/scale_output.jpg", dst); System.out.println("Image Processed"); } }
Предположим, что ниже приведено входное изображение transform_input.jpg, указанное в вышеуказанной программе (размер — ширина: 300 пикселей и высота: 300 пикселей).
Выход
При выполнении программы вы получите следующий вывод:
Image Processed
Если вы откроете указанный путь, вы можете наблюдать выходное изображение следующим образом (размер — ширина: 600 пикселей и высота: 600 пикселей) —