วิธีการตรวจจับจุดศูนย์กลางของวงกลมที่พร่ามัวด้วย opencv


10

ฉันมีภาพต่อไปนี้:

ป้อนคำอธิบายรูปภาพที่นี่

มีรูปโค้งอยู่บนภาพ ฉันต้องการหาศูนย์กลางของวงกลมที่มีส่วนโค้ง

ฉันพยายามแปลง opencv และ hough เป็นวงกลม แต่ก็ไม่มีผลลัพธ์


เส้นโค้งทั้งหมดเป็นศูนย์กลางหรือไม่ ระยะห่างระหว่างพวกมันแปรผัน
endolith

ใช่พวกเขาเป็นศูนย์กลาง และไม่มีระยะห่างคงที่
JingKe

คำตอบ:


3

คุณจะต้องปรับปรุงความคมชัดของภาพก่อนจากนั้นกรองอย่างยิ่งเพื่อกำจัดสัญญาณรบกวน เนื่องจากวงกลมนั้น 'หนา' (เบลอ) คุณสามารถกรองได้เล็กน้อยโดยไม่ทำลายโครงสร้างของวงกลม

จากนั้นฉันจะใช้อัลกอริธึมการตรวจจับขอบบางอย่างเพื่อรับภาพขอบไบนารีที่สามารถประมวลผลได้โดยการแปลงแบบวงกลม Hough

ฉันได้ภาพขอบจากภาพของคุณ: ป้อนคำอธิบายรูปภาพที่นี่

การใช้คำสั่ง MATLAB ต่อไปนี้:

 % x is the input grayscale image. First we adaptively improve the contrast over the image
 y= adapthisteq(x);

 % next we use the Canny edge detector with a strong Gaussian lowpass filter
 ee=edge(y, 'canny', [], 5);
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.