ค้นหาบรรทัดที่ระบุในรูปภาพ


9

ฉันต้องการค้นหาเส้นแบ่งระหว่างสีฟ้าและเทาในภาพต่อไปนี้:

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

ยิ่งไปกว่านั้นจุดสิ้นสุดของบรรทัดนั้น

Hough เปลี่ยนเป็นตัวเลือกหรือไม่? ถ้าใช่ฉันจะตั้งค่ารูปภาพก่อนใช้ Hough ได้อย่างไร

วิธีแก้ปัญหานี้จะเป็นประโยชน์


ทำการตรวจจับขอบก่อนการแปลง Hough มันจะเปลี่ยนการเปลี่ยนนั้นให้เป็นเส้นสว่างที่มีสีดำทั้งสองด้าน
endolith

คำตอบ:


10

โดยทั่วไปคุณต้องการตัวตรวจจับขอบเช่นตัวตรวจจับขอบ Canny สำหรับปัญหาชนิดนี้ การแปลงแบบ Hough มีประโยชน์สำหรับการแยกบรรทัดแทนที่จะเป็นขอบ

อย่างไรก็ตามในกรณีเฉพาะนี้คุณควรทำสิ่งต่อไปนี้:

imdata = imread('grayblue.jpg');
colidx = find(diff(imdata(1,:) ~= 0);

เนื่องจากมันเป็นภาพที่เรียบง่าย


0

สำหรับรูปภาพนี้เคอร์เนล convolution อย่างเช่นต่อไปนี้จะพบกับขอบอย่างชัดเจน:

[-1 2 - 1]

นี่จะให้พิกเซลขอบเดียวที่จุดขอบแต่ละจุด ไม่มีความยุ่งยากไม่มีความวุ่นวาย Canny เกี่ยวข้องกับปัญหานี้มากเกินไป หากคุณต้องการหาจุดขอบของเส้นในทุกมุมคุณสามารถใช้ Laplacian, Laplacian of Gaussian (LoG) หรือความแตกต่างของ Gaussian (DoG) แบบง่าย Sobel และ Prewitt นั้นเรียบง่าย แต่ไม่เหมาะสมเนื่องจากให้เส้นที่มีความหนาเป็นสองเท่า

มีการใช้งาน Hough อย่างรวดเร็วที่อธิบายไว้ที่นี่: http://www.ic.uff.br/~laffernandes/projects/kht/index.html

นอกจากนี้ยังมี "อัลกอริธึม Hough แบบไม่มีพารามิเตอร์" ที่รวดเร็วมาก แต่ค่อนข้างยุ่งยากในการติดตั้งและดีบัก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.