Для моего проекта я пишу библиотеку предварительной обработки изображений для отсканированных документов. На данный момент я застрял с функцией удаления линии.Как эффективно определять и удалять направляющие линии из отсканированного изображения/документа?
Описание проблемы: Образец сканируется форма:
Name* : ______________________________
Age* : ______________________________
Email-ID: |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|
Примечание: Ниже приведены дополнительные условия:
- Отсканированный документ может содержать много больше вертикальных и горизонтальных ориентиры.
- Толщина линий может превышать 1px
- Сам документ не печатается должным образом, и может иметь шум в виде чернил вздутие или неравномерной толщины
- Документ может быть цветной фон или линии
Теперь я пытаюсь обнаружить эти строки и удалить их. И при этом содержимое, написанное вручную, не должно быть потеряно.
Решение so для: Текущее решение реализовано на Java.
Обнаружили эти линии, используя комбинацию извещателей крошечных/sobel фронтов и порогового фильтра (чтобы сделать изображение битнолом). Из предыдущего действия я получаю черно-белый массив пикселей. Перемещайте массив и проверяйте, падает ли плотность этого пикселя ниже заданного значения бина. И если я нашел 30 (минимальная длина линии в пикселях) таких пикселей, я удаляю их. Я повторяю то же самое для вертикальных линий, но учитывая тот факт, что будут сокращены из-за удаления горизонтальной линии.
Хотя решение, похоже, работает. Но есть такие проблемы, как,
- Удаления дублирования символов
- Если символы в изображении не правильно разнесены, то это также рассматривать как линию.
- Выходное изображение от обнаружения края находится в черно-белом режиме.
- Немного медленный. Обычно занимает около 40 секунд для изображения 2480 * 3508.
Просьба указать, как это сделать должным образом и эффективно. И если есть библиотека с открытым исходным кодом, пожалуйста, направляйте ее.
Благодаря
Спасибо Элазар. Этот проект был приостановлен на некоторое время. Между тем, проходя через некоторые документы по обработке изображений и распознаванию образов, я нахожу ваш ответ несколько ближе к фактическому решению «будет», – Favonius
@Favonius, Спасибо! рад знать. Я буду рад, если вы обновите здесь ссылку на «официальное» решение. –