OpenCV - Penskalaan
Anda bisa tampil scaling pada gambar menggunakan resize() metode dari imgprockelas. Berikut adalah sintaks dari metode ini.
resize(Mat src, Mat dst, Size dsize, double fx, double fy, int interpolation)
Metode ini menerima parameter berikut -
src - A Mat objek yang mewakili sumber (gambar masukan) untuk operasi ini.
dst - A Mat objek yang mewakili tujuan (gambar keluaran) untuk operasi ini.
dsize - A Size objek yang mewakili ukuran gambar keluaran.
fx - Variabel tipe ganda yang mewakili faktor skala sepanjang sumbu horizontal.
fy - Variabel tipe ganda yang mewakili faktor skala sepanjang sumbu vertikal.
Interpolation - Variabel integer yang mewakili metode interpolasi.
Contoh
Program berikut menunjukkan bagaimana cara mendaftar scale transformation ke gambar.
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");
}
}
Asumsikan bahwa berikut ini adalah gambar input transform_input.jpg ditentukan dalam program di atas (size - Width: 300px and height: 300px).
Keluaran
Saat menjalankan program, Anda akan mendapatkan output berikut -
Image Processed
Jika Anda membuka jalur yang ditentukan, Anda dapat mengamati gambar keluaran sebagai berikut (size - Width: 600px dan height: 600px) -