OpenCV - Filter Kotak

Operasi Filter Kotak mirip dengan operasi blur rata-rata; itu menerapkan gambar bilateral ke filter. Di sini, Anda dapat memilih apakah kotak akan dinormalisasi atau tidak.

Anda dapat melakukan operasi ini pada gambar menggunakan boxFilter() metode dari imgprockelas. Berikut adalah sintaks dari metode ini -

boxFilter(src, dst, ddepth, ksize, anchor, normalize, borderType)

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.

  • ddepth - Variabel tipe integer yang mewakili kedalaman gambar keluaran.

  • ksize - A Size objek yang mewakili ukuran kernel yang kabur.

  • anchor - Variabel jenis integer yang mewakili titik jangkar.

  • Normalize - Variabel tipe boolean yang menentukan cuaca kernel harus dinormalisasi.

  • borderType - Objek integer yang mewakili jenis perbatasan yang digunakan.

Contoh

Program berikut menunjukkan bagaimana melakukan operasi Filter Kotak pada gambar.

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.Point;
import org.opencv.core.Size;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;

public class BoxFilterTest {
   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/chap11/filter_input.jpg";
      Mat src = Imgcodecs.imread(file);

      // Creating an empty matrix to store the result
      Mat dst = new Mat();

      // Creating the objects for Size and Point
      Size size = new Size(45, 45);
      Point point = Point(-1, -1);

      // Applying Box Filter effect on the Image
      Imgproc.boxFilter(src, dst, 50, size, point, true, Core.BORDER_DEFAULT);

      // Writing the image
      Imgcodecs.imwrite("E:/OpenCV/chap11/boxfilterjpg", dst);

      System.out.println("Image Processed");
   }
}

Asumsikan bahwa berikut ini adalah gambar input filter_input.jpg ditentukan dalam program di atas.

Keluaran

Saat menjalankan program, Anda akan mendapatkan output berikut -

Image Processed

Jika Anda membuka jalur yang ditentukan, Anda dapat mengamati gambar keluaran sebagai berikut -