คุณสมบัติการตรวจจับพื้นผิวและภูมิภาคบนภาพ


9

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

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

ตัวอย่างในโลกแห่งความเป็นจริงในการตรวจจับภูมิภาคของปริมาณน้ำฝนบนแผนที่แสดงปริมาณน้ำฝนสามระดับในหนึ่งปี แต่ละระดับจะถูกกำหนดพื้นผิวที่มีอยู่ในตำนานซึ่งจะใช้สำหรับการจับคู่พื้นผิวในภาพเดียวกัน


4
มันจะมีประโยชน์ถ้าคุณแชร์ตัวอย่างจริง ๆ และอาจจะเป็นวิธีแก้ปัญหาเบื้องต้นที่คุณได้ลอง
Ivo Flipse

3
อัปโหลดภาพตัวอย่างบางส่วนเพื่อให้เราเข้าใจว่าคุณกำลังทำอะไรอยู่ เช่นเดียวกับบางภูมิภาคจะเต็มไปด้วยของแข็งและพื้นที่อื่น ๆ กำลังฟักข้าม? nps.gov/sagu/naturescience/images/…
endolith

ในกรณีที่คุณมี matlab คุณสามารถใช้กล่องเครื่องมือประมวลผลภาพ ถ้าไม่ได้, เว็บไซต์ของพวกเขายังคงให้ภาพรวมที่ดีของขั้นตอนวิธีมาตรฐานที่คุณอาจต้องการที่จะใช้เช่นฟังก์ชั่นbwconncomp
Mr. White

คำตอบ:


1

นี่เป็นกระบวนการง่ายๆ:

  1. กำหนดการวัดพื้นผิวให้กับแต่ละพื้นที่ในภาพ
  2. ใช้อัลกอริทึมการทำป้ายกำกับ / การเชื่อมต่อภูมิภาค (หรืออัลกอริทึมการเติบโตของภูมิภาค) เพื่อเข้าร่วมภูมิภาคที่อยู่ติดกันโดยมีการวัดพื้นผิวเดียวกัน
  3. ใช้อัลกอริทึมต่อไปนี้ที่ใช้ง่าย ๆ เพื่อติดตามรูปร่างของแต่ละภูมิภาค

การวัดพื้นผิวของกฎหมายเป็นเทคนิคที่เก่ากว่า แต่ยังคงมีประโยชน์ในการกำหนดพื้นผิวในภาพและอาจเพียงพอสำหรับคุณที่จะแยกแยะพื้นผิว A จากพื้นผิว B ทั่วทั้งภาพ ดูหัวข้อ "กฎหมายพลังงานพื้นผิวมาตรการ" ในบทความ Wikipedia:

http://en.wikipedia.org/wiki/Image_texture

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

หากคุณมีพื้นผิวเพียงสองแบบคือ A และ B คุณสามารถใช้มันเป็นพื้นหน้าและพื้นหลังและอัลกอริทึมการติดฉลากภูมิภาคจะทำงานได้ เพื่อให้ง่ายต่อการดูสิ่งที่เกิดขึ้นในการประมวลผลคุณสามารถสร้างภาพใหม่โดยกำหนด A texels (องค์ประกอบพื้นผิวชิ้นเล็ก ๆ ของพื้นผิว) ให้กับสีขาวและ B texels เป็นสีดำ การติดฉลากภูมิภาคและ / หรืออัลกอริธึมที่ตามมาของรูปร่างจะพบบริเวณสีขาวและดำที่เชื่อมต่ออยู่ ฟังก์ชัน findContours () ใน OpenCV จะทำงานได้ดี

http://en.wikipedia.org/wiki/Connected-component_labeling

บทความ Wikipedia เดียวกันนี้มีทั้งอัลกอริธึมมัลติพาสซีสดั้งเดิมรวมถึงอัลกอริธึมการส่งผ่านเดี่ยว ฉันยังไม่ได้ใช้อัลกอริธึมผ่านรอบเดียวที่อธิบายไว้ที่นั่น แต่ฉันได้ทำงานกับอัลกอริธึมผ่านเดียวที่อธิบายไว้ในกระดาษ "อัลกอริธึมการทำฉลากส่วนประกอบโดยใช้เทคนิค กระดาษของเฉินและช้างยังอธิบายถึงอัลกอริทึมการติดตามเส้นขอบมาตรฐานซึ่งสามารถนำไปใช้ได้อย่างรวดเร็ว

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

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