OpenCV - Ölçeklendirme
Gerçekleştirebilirsin scaling kullanarak bir görüntüde resize() yöntemi imgprocsınıf. Bu yöntemin sözdizimi aşağıdadır.
resize(Mat src, Mat dst, Size dsize, double fx, double fy, int interpolation)
Bu yöntem aşağıdaki parametreleri kabul eder -
src - bir Mat Bu işlem için kaynağı (giriş görüntüsü) temsil eden nesne.
dst - bir Mat bu işlem için hedefi (çıktı görüntüsü) temsil eden nesne.
dsize - bir Size çıktı görüntüsünün boyutunu temsil eden nesne.
fx - Yatay eksen boyunca ölçek faktörünü temsil eden double türünde bir değişken.
fy - Dikey eksen boyunca ölçek faktörünü temsil eden double türünde bir değişken.
Interpolation - Enterpolasyon yöntemini temsil eden bir tamsayı değişkeni.
Misal
Aşağıdaki program nasıl başvurulacağını göstermektedir scale transformation bir resme.
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");
}
}
Aşağıdakinin giriş görüntüsü olduğunu varsayalım transform_input.jpg yukarıdaki programda belirtilmiştir (boyut - Genişlik: 300 piksel ve yükseklik: 300 piksel).
Çıktı
Programı çalıştırırken aşağıdaki çıktıyı alacaksınız -
Image Processed
Belirtilen yolu açarsanız, çıktı görüntüsünü şu şekilde gözlemleyebilirsiniz (boyut - Genişlik: 600 piksel ve yükseklik: 600 piksel) -