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 -