Computer >> Máy Tính >  >> Lập trình >> Java

Ví dụ Java minh họa tính năng phát hiện cạnh Sobel trong OpenCV.


Toán tử Sobel cho phép phát hiện cạnh cho phép bạn tìm các cạnh trong một hình ảnh nhất định theo cả hướng ngang và dọc.

Sobel () phương thức của lớp Imgproc áp dụng thuật toán Sobel Edge Detection trên hình ảnh đã cho. Phương thức này chấp nhận -

  • Hai đối tượng Mat đại diện cho hình ảnh nguồn và hình ảnh đích.

  • Một biến số nguyên đại diện cho độ sâu của hình ảnh.

  • Hai biến kép để giữ các đạo hàm x và y.

Ví dụ

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
public class SobelEdgeDetection {
   public static void main(String args[]) {
      //Loading the OpenCV core library
      System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
      String file ="D:\\Images\\win2.jpg";
      Mat src = Imgcodecs.imread(file);
      //Creating an empty matrix for the destination image
      Mat dst = new Mat();
      //Applying sobel derivative with values x:0 y:1
      Imgproc.Sobel(src, dst, -1, 0, 1);
      HighGui.imshow("Sobel - x:0 & y:1 ", dst);
      HighGui.waitKey();
      //Applying sobel derivative with values x:1 y:0
      Imgproc.Sobel(src, dst, -1, 1, 0);
      HighGui.imshow("Sobel - x:1 & y:0 ", dst);
      HighGui.waitKey();
      //Applying sobel derivative with values x:1 y:1
      Imgproc.Sobel(src, dst, -1, 1, 1);
      HighGui.imshow("Sobel - x:1 & y:1 ", dst);
      HighGui.waitKey();
   }
}

Đầu ra

Khi thực thi, chương trình trên tạo các cửa sổ sau -

Sobel - x:0 &y:1 -

Ví dụ Java minh họa tính năng phát hiện cạnh Sobel trong OpenCV.

Sobel - x:1 &y:0 -

Ví dụ Java minh họa tính năng phát hiện cạnh Sobel trong OpenCV.

Sobel - x:1 &y:1 -

Ví dụ Java minh họa tính năng phát hiện cạnh Sobel trong OpenCV.