ฉันพยายามเพื่อจุดประสงค์การเรียนรู้ของฉันเองเพื่อพัฒนาการใช้อัลกอริทึมที่จะเขียนรายการหนังสือโดยกำหนดภาพของชั้นวางหนังสือดังนี้
ขั้นตอนแรกคือการแบ่งภาพออกเป็นแต่ละเล่ม
อัลกอริทึมของฉันในMathematicaคือ:
img = ColorConvert[Import["http://i.stack.imgur.com/IaLQk.jpg"], "GrayScale"]
- ทำการตรวจจับขอบพื้นฐาน &
ลบข้อความและพยายามรักษาความยาวบรรทัด
edge = DeleteSmallComponents[EdgeDetect[img, 3],Last[ImageDimensions[img]]/5]
จากนั้นลบเส้นแนวนอนที่ไม่พึงประสงค์
lines = Sort[ImageLines[img5] /. {{0., _}, {_, _}} -> Sequence[]] Show[img, Graphics[{Thick, Orange, Line /@ lines}]]
แม้ว่าผลลัพธ์จะน้อยกว่ามาก:
คำถามของฉันคือ:
- ฉันจะปรับปรุงสิ่งนี้เพื่อให้ได้ผลลัพธ์ที่ดีขึ้นได้อย่างไร
- มีวิธีที่ฉลาดกว่านี้หรือไม่?
- ฉันควรประมวลผลรูปภาพเพิ่มเติมเพื่อเพิ่มความแม่นยำในระยะ OCR (ในภายหลัง) อย่างไร
- จะใช้ข้อมูลสีเพื่อปรับปรุงการแบ่งส่วนได้อย่างไร