OpenCV - Operator Scharr

Scharr juga digunakan untuk mendeteksi turunan kedua dari suatu gambar dalam arah horizontal dan vertikal. Anda dapat melakukan operasi scharr pada gambar menggunakan metode inischarr(). Berikut adalah sintaks dari metode ini -

Scharr(src, dst, ddepth, dx, dy)

Metode ini menerima parameter berikut -

  • src - Objek kelas Mat mewakili gambar sumber (masukan).

  • dst - Objek kelas Mat mewakili gambar tujuan (keluaran).

  • ddepth - Variabel integer yang mewakili kedalaman gambar (-1)

  • dx- Variabel integer yang mewakili turunan x. (0 atau 1)

  • dy- Variabel integer mewakili turunan y. (0 atau 1)

Contoh

Program berikut menunjukkan bagaimana menerapkan scharr ke gambar tertentu.

import org.opencv.core.Core;
import org.opencv.core.Mat;

import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;

public class ScharrTest {

   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/chap16/sobel_input.jpg";
      Mat src = Imgcodecs.imread(file);

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

      // Applying Box Filter effect on the Image
      Imgproc.Scharr(src, dst, Imgproc.CV_SCHARR, 0, 1);

      // Writing the image
      Imgcodecs.imwrite("E:/OpenCV/chap16/scharr_output.jpg", dst);

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

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

Keluaran

Saat menjalankannya, Anda akan mendapatkan output berikut -

Image Processed

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

Derivatif scharr lainnya

Saat meneruskan nilai yang berbeda ke parameter terakhir (dx dan dy) (antara 0 dan 1) Anda akan mendapatkan output yang berbeda -

// Applying scharr on the Image
Imgproc.Scharr(src, dst, -1, 1, 1);

Berikut adalah tabel yang mencantumkan berbagai nilai untuk variabel dx dan dy metode scharr() dan keluarannya masing-masing.

Turunan X Turunan Y Keluaran
0 1
1 0