OpenCV - Gauss Bulanıklığı
Gauss Bulanıklığı işleminde, görüntü, kutu filtresi yerine bir Gauss filtresi ile dönüştürülür. Gauss filtresi, yüksek frekanslı bileşenleri azaltan düşük geçişli bir filtredir.
Bu işlemi kullanarak bir görüntü üzerinde gerçekleştirebilirsiniz. Gaussianblur() yöntemi imgprocsınıf. Bu yöntemin sözdizimi aşağıdadır -
GaussianBlur(src, dst, ksize, sigmaX)
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.
ksize - bir Size çekirdeğin boyutunu temsil eden nesne.
sigmaX - X yönündeki Gauss kernel standart sapmasını temsil eden double türünde bir değişken.
Misal
Aşağıdaki program, bir görüntü üzerinde Gauss bulanıklaştırma işleminin nasıl gerçekleştirileceğini göstermektedir.
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 GaussianTest {
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 ="C:/EXAMPLES/OpenCV/sample.jpg";
Mat src = Imgcodecs.imread(file);
// Creating an empty matrix to store the result
Mat dst = new Mat();
// Applying GaussianBlur on the Image
Imgproc.GaussianBlur(src, dst, new Size(45, 45), 0);
// Writing the image
Imgcodecs.imwrite("E:/OpenCV/chap9/Gaussian.jpg", dst);
System.out.println("Image Processed");
}
}
Aşağıdakinin giriş görüntüsü olduğunu varsayalım sample.jpg yukarıdaki programda belirtilmiştir.
Çı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ü aşağıdaki gibi gözlemleyebilirsiniz -