วิธีการประมวลผลภาพสำหรับการเลือกแหลมคม


11

ฉันมีอินพุตเป็นภาพไบนารี 3Dและผลลัพธ์ที่ต้องการด้านล่าง:

การป้อนข้อมูล:

INPUT

ผลลัพธ์ที่ต้องการ:

เอาท์พุท

ฉันควรมองหาวิธีการประมวลผลภาพแบบใดหากฉันมีเพียงวัตถุแหลมคมเหลืออยู่เช่นเดียวกับผลลัพธ์ที่ต้องการด้านบน


คุณหมายถึงอะไรโดยไบนารี 3Dภาพ? คุณสามารถแบ่งภาพออกเป็นแต่ละส่วนได้อย่างง่ายดาย?
bjoernz

ในแบบ 3 มิติฉันหมายถึงมันเป็นภาพเอกซ์เรย์
Karl

1
คุณอธิบายได้spikyไหมว่าวัตถุคืออะไร สิ่งที่เรียกว่าแหลมคมจริง ๆ ? อะไรคือคุณสมบัติที่สำคัญในการตรวจจับวัตถุที่แหลมคม?
Dipan Mehta

วัตถุที่แหลมคมในกรณีนี้คือพื้นที่ 3 มิติที่ไม่ราบเรียบและมีหนามเหมือนรูปร่างอยู่ทั่ว
Karl

คำตอบ:


19

มีมุมเพิ่มเติมในขอบเขตของ "วัตถุแหลมคม" ของคุณดังนั้นวิธีการหนึ่งในการปรับแต่งเครื่องตรวจจับมุมสำหรับสิ่งนี้

ตัวอย่างเช่นฉันคำนวณดีเทอร์มิแนนต์ของเทนเซอร์ของโครงสร้าง (รหัส Mathematica ด้านล่าง) ของรูปภาพที่แปลงระยะทาง:

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

การสร้าง Binarizing ด้วย hysteresis ให้ภาพนี้ซึ่งเป็นจุดเริ่มต้นที่ดีสำหรับอัลกอริทึมการแบ่งส่วนที่คุณเลือก:

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

รหัส Mathematica ( srcเป็นภาพต้นฉบับที่คุณโพสต์)

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

dist = ImageData[DistanceTransform[src]];

ถัดไปผมเตรียมส่วนประกอบของเมตริกซ์โครงสร้าง ขนาดตัวกรองสำหรับสัญญา gaussian ถ้า 5 ขนาดหน้าต่างคือ 20

gx = GaussianFilter[dist, 5, {1, 0}];
gy = GaussianFilter[dist, 5, {0, 1}];
gx2 = GaussianFilter[gx^2, 20];
gxy = GaussianFilter[gx*gy, 20];
gy2 = GaussianFilter[gy^2, 20];   

ในการคำนวณตัวกรองมุมที่แต่ละพิกเซลฉันแค่เสียบสิ่งเหล่านี้เข้ากับตัวกำหนดเชิงสัญลักษณ์ของเทนเซอร์โครงสร้าง:

corners = Det[{{dx2, dxy}, {dxy, dy2}}] /. {dx2 -> gx2, dxy -> gxy, dy2 -> gy2};

ซึ่งโดยทั่วไปเหมือนกับ:

corners = gx2 * gy2 - gxy * gxy;

การแปลงเป็นภาพและปรับให้เป็นช่วง 0..1 ทำให้ได้ภาพมุมตรวจจับด้านบน

ในที่สุดการ binarizing ด้วยเกณฑ์ที่ถูกต้องจะให้ภาพไบนารีสุดท้าย:

MorphologicalBinarize[Image[corners], {0.025, 0.1}]

คำตอบที่ยอดเยี่ยมมาก! =)
Phonon

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