การแบ่งส่วนยาจากพื้นหลัง


9

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

พื้นที่สีที่ฉันใช้คือ L a b * ดังนั้นฉันจะขอบคุณถ้าคุณสามารถแนะนำพื้นที่สีที่เหมาะสมที่ฉันควรใช้ด้วย

ภาพที่เป็นปัญหา:

ต้นฉบับ 1

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

ผล 1

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

เดิม 2

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

ผล 2

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

ต้นฉบับ 3

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

ผล 3

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


7
กรุณาอัพโหลดรูปภาพได้ไหม สิ่งที่เกี่ยวกับ thresholding ปรับตัว?
Quentin Geissmann

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


เควนติน: ฉันมีชื่อเสียงไม่มากพอที่จะอัพโหลดรูปถ่าย
GamingX

@Syed อัปโหลดที่สาธารณะและเพิ่มลิงก์ไปยังคำถามหากคุณต้องการ
Maurits

คำตอบ:


2

หากคุณต้องการใช้วิธีการกำหนดเกณฑ์ขั้นสูงคุณควรใช้วิธีการกำหนดเกณฑ์ขั้นสูงแบบปรับตัวหากมีการเปลี่ยนแปลงของแสงขนาดใหญ่เช่นในภาพตัวอย่างที่ 3 ( คำถาม dsp ที่นี่ )

นอกจากนี้คุณควรทดสอบกับ colorspaces มันง่าย: สคริปต์ในการย่อยสลายภาพเป็น colorpaces ที่แตกต่างกันควรมีความยาวไม่เกินสองสามบรรทัดและผู้ชมภาพจำนวนมากมีตัวเลือกนั้น สิ่งที่ดีที่สุดควรง่ายต่อการพิจารณาเพียงแค่มองเห็น หากคุณต้องการอ่านข้อมูลเกี่ยวกับ Colorspaces มี anothrt ดีคำถาม DSP ที่นี่

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


อะไรจะเป็นความคิดที่ดีสำหรับการแบ่งส่วนที่ไม่สมบูรณ์
GamingX

@Syed ดูเหมือน OpenCV Canny (การตรวจจับขอบ) และแม้กระทั่ง Hough สามารถทำงานกับภาพสีเทา (ไม่จำเป็นต้องมีขีด จำกัด ) ดังนั้นคุณสามารถข้ามขั้นตอนการนวดแบบใหม่ทั้งหมดเข้าด้วยกัน การแบ่งส่วนภาพขึ้นอยู่กับภาพ แต่คำตอบที่ตรงคือ: ขอโทษไม่รู้ ฉันคิดว่าวิธีการไม่ปรับตัวจะเพียงพอ แต่ฉันไม่สามารถแนะนำวิธีเฉพาะได้เนื่องจากฉันไม่ได้ทำสิ่งนี้มาระยะหนึ่งแล้ว เพียงทำวิจัยเล็กน้อยเกี่ยวกับวิธีการแบ่งส่วนอย่างง่าย ;)
penelope

2

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

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


1

เพื่อแก้ปัญหานี้คุณต้องแยกพื้นหลังและพื้นหน้าออก นี่คือทางออกฉันขอเสนอคุณ:

1)แปลงภาพจาก Rgb เป็นโทนสีเทา คุณจะได้รับภาพที่เราเรียกว่าI1;

2)ใช้ตัวกรองสัณฐานวิทยาการกัดเซาะโดยใช้รัศมีขนาดใหญ่ในที่สุดหลายต่อหลายครั้ง ==> คุณควรลบยาโดยการกัดเซาะและได้รับเพียงพื้นหลัง; คุณจะได้รับภาพใหม่I2;

3)ลบI2ไปI1คุณจะได้รับเบื้องหน้าคือยา;

4)ใช้ตัวกรองทางสัณฐานวิทยาอื่นเพื่อเติมหลุมใด ๆ ในเม็ดที่คุณได้รับ;

5)ใช้ตัวกรองสัณฐานวิทยาการกัดเซาะรัศมีขนาดเล็กเพื่อลบพิกเซลแยกใด ๆ

วิธีนี้ไม่จำเป็นต้องมีเกณฑ์การตรวจจับรูปร่างการแบ่งส่วนสีหรือสิ่งอื่นใด

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