演示 OpenCV 中 Scharr 边缘检测的 Java 示例。


边缘检测领域的Scharr 算子允许你在给定图像的水平和垂直方向上找到边缘。

Imgproc 类中的 Scharr() 方法对给定的图像应用Scharr 边缘检测算法。此方法接受 -

  • 两个代表原图像和目标图像的 Mat 对象。

  • 一个表示图像深度的整型变量。

  • 两个 double 变量用于保存 x 和 y 导数。

示例

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 ScharrEdgeDetection {
   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 Scharr derivative with values x:1 y:0
      Imgproc.Scharr(src, dst, Imgproc.CV_SCHARR, 0, 1);
      HighGui.imshow("Scharr - x:0 & y:1 ", dst);
      //Applying Scharr derivative with values x:1 y:0
      Imgproc.Scharr(src, dst, Imgproc.CV_SCHARR, 1, 0);
      HighGui.imshow("Scharr - x:1 & y:0 ", dst);
      HighGui.waitKey();
   }
}

输入图像

输出

执行上述程序后,将生成以下窗口 -

Scharr - x:0 & y:1 − 

Scharr - x:1 & y:0 − 

更新时间: 13-4-2020

190 次浏览

开启你的 职业

通过完成课程获得认证

开始
广告