Я намагаюся, для власних цілей навчання, розробити реалізацію алгоритму, який би перераховував книги, даючи зображення книжкової полиці на зразок наступного:
Перший крок - нарізати зображення в окремі книги.
Мій алгоритм в 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?
- Як використовувати інформацію про колір для покращення сегментації?