หลักการของการตรวจจับวงกลม Hough และการตรวจจับสาย Hough นั้นคล้ายคลึงกัน สำหรับวงกลมพวกเขาจะแสดงเป็น C: (X, Y, R) ในระบบพิกัดพารามิเตอร์
การทำงาน:
imgproc.houghcircles (ภาพเสื่อ, วงจรเสื่อ, วิธี int, double dp, double mindist, double param1, double param2, int minradius, int maxradius)
คำอธิบายพารามิเตอร์:
รูปภาพ: ภาพต้นทาง
วงกลม: เวกเตอร์เอาท์พุทของวงกลมที่ตรวจพบ (x, y, r)
วิธีการ: วิธีการตรวจจับที่ใช้ในปัจจุบันมี imgproc.hough_gradient เพียงหนึ่งเดียว
DP: ผกผันของอัตราส่วนระหว่างภาพสะสมที่กึ่งกลางของวงกลมและภาพต้นทาง
Mindist: ระยะห่างขั้นต่ำระหว่างศูนย์ของวงกลมที่ตรวจพบ
param1: พารามิเตอร์ที่สอดคล้องกันของวิธีการตรวจจับที่กำหนดโดยวิธี สำหรับ hough_gradient มันบ่งบอกถึงขีด จำกัด สูงของตัวดำเนินการตรวจจับขอบ (เกณฑ์ต่ำคือครึ่งหนึ่งของเกณฑ์สูง) และค่าเริ่มต้นคือ 100
param2: พารามิเตอร์ที่สอดคล้องกันของวิธีการตรวจจับที่กำหนดโดยวิธีการสำหรับ hough_gradient ซึ่งระบุค่าเกณฑ์ของตัวสะสม ค่าที่เล็กลงวงกลมที่ไม่เกี่ยวข้องตรวจพบ
Minradius: รัศมีขั้นต่ำของรัศมีวงกลมค่าเริ่มต้นคือ 0
Maxradius: รัศมีสูงสุดของรัศมีวงกลม, เริ่มต้นเป็น 0 (ถ้าทั้ง Minradius และ Maxradius เป็นค่าเริ่มต้นเป็น 0 ฟังก์ชั่น Houghcircles จะคำนวณรัศมีโดยอัตโนมัติ)
รหัสตัวอย่าง:
โมฆะคงที่สาธารณะหลัก (สตริง [] args) {system.loadLibrary (core.native_library_name); mat src = imgcodecs.imread ("f: //websbook_com_1589226.jpg"); mat dst = src.clone (); imgproc.cvtcolor (src, dst, imgproc.color_bgr2gray); MAT Circles = NEW MAT (); imgproc.houghcircles (dst, วงกลม, imgproc.hough_gradient, 1, 100, 440, 50, 0, 0, 345); // imgproc.houghcircles (dst, วงกลม, imgproc.hough_gradient, 1, 100, // 440, 50, 0, 0, 0); สำหรับ (int i = 0; i <circle.cols (); i ++) {double [] vcircle = circles.get (0, i); จุดกึ่งกลาง = จุดใหม่ (vcircle [0], vcircle [1]); int radius = (int) math.round (vcircle [2]); // Circle Center imgproc.circle (SRC, ศูนย์, 3, Scalar ใหม่ (0, 255, 0), -1, 8, 0); // วงกลมเค้าโครง imgproc.circle (src, ศูนย์, รัศมี, สเกลาร์ใหม่ (0, 0, 255), 3, 8, 0); } imgcodecs.imwrite ("f: //dst2.jpg", src); -ภาพต้นทาง:
ภาพเอาต์พุต:
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น