Царапины и другие пятна можно довольно легко отфильтровать, просто проигнорировав пиксели, которые не имеют по крайней мере определенной интенсивности цвета.
У вас есть три варианта работы со строками:
Первый важный вопрос, написано ли почерк другим цветом?Простым решением было бы дать каждому синие или красные ручки и запретить использование черных ручек.Затем вы можете сканировать документы в цвете, а затем просто использовать зеленый буфер в качестве изображения в оттенках серого вместо всех трех буферов.Это был бы самый простой способ реализовать это, почти каждый сканер в настоящее время поддерживает цветное сканирование.
В противном случае вам придется написать алгоритм, который может обнаруживать линии в изображении,чтобы это работало, вам нужно сначала откалибровать алгоритм, чтобы сначала узнать, каков обычно размер символа, затем найти любые строки, которые длиннее X пикселей, а затем удалить строку оттуда.Это будет очень проблематично и не будет работать слишком хорошо для вас, и вы потратите много времени, пытаясь заставить его работать, и он все равно никогда не будет на 100%.
Другой способ заключается в том, что после выполнения OCR вы должны представить свои данные конечному пользователю, чтобы убедиться, что они верны, затем вы можете представить им отсканированное изображение и позволить им перезаписывать сканированное изображение, если оно было неправильным.
Из трех вариантов я бы сказал, что ваш лучший вариант - просто запретить людям писать на счетах черной ручкой.Если вы не можете этого сделать, отсканируйте документ как можно лучше и предоставьте его конечному пользователю, чтобы выяснить проблемные поля (вы даже можете пометить их как проблему, чтобы пользователю не нужно было проверять весь документ целиком).время).
Редактировать: одна вещь, на которую стоит обратить внимание, это то, что если вы получаете документы, которые были написаны, а затем отправлены по факсу, вы не сможете сделать с ними очень многокроме варианта 3 (сделайте все возможное, а затем представьте пользователю).