The Scharr ตัวดำเนินการสำหรับการตรวจจับขอบช่วยให้คุณค้นหาขอบในภาพที่กำหนดได้ทั้งในทิศทางแนวนอนและแนวตั้ง
The Scharr() เมธอดของคลาส Imgproc ใช้ Scharr อัลกอริธึมการตรวจจับขอบบนภาพที่กำหนด วิธีนี้ยอมรับ -
-
วัตถุ Mat สองรายการที่แสดงภาพต้นทางและปลายทาง
-
ตัวแปรจำนวนเต็มแสดงถึงความลึกของรูปภาพ
-
ตัวแปรคู่สองตัวเพื่อเก็บอนุพันธ์ 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 −