0

Я работаю в проекте оптического распознавания символов, используя opencv. Я успешно реализовал ocr на обычных цифрах. Но в сценарии реального времени у меня возникает проблема с нежелательным шумом между digits.original изображениеКак удалить нежелательный шум между цифрами изображения

я преобразовал в оттенки серого и применяется порог, то речь идет, как этот

Если я применить обнаружение контура, то я буду получать эти черные блоки also.How я могу исключить, что блоки между цифрами. У меня нет проблем с OCR, я просто хочу удалить этот нежелательный шум и повернуть изображение. Спасибо.

После поворота и удаления черных пятен с изображения. Это достигнутый прогресс и как я могу удалить те блоки, которые прикреплены к первой цифре из-за тени.

У меня проблема с ocr. первая и последняя 2 цифры не распознаются правильно. Как улучшить эффективность ocr. После тренировки системы с теми цифрами, где я ошибаюсь с образцами цифр из реального времени, я получил правильные результаты.

окончательного распознавания изображения: final ocr image

ответ

3

Удаление черных полос без априорного знания геометрии, я имею в виду чистого анализа двоичных объектов, практически невозможно. Также невозможно избежать того, что они соприкасаются с цифрами, из-за сильных теней внизу.

Предлагаю сделать все возможное, чтобы найти эти черные полосы, которые являются местами, где капли имеют наибольшую вертикальную протяженность. Возможно, также можно найти их в профиле, полученном путем вычисления средних значений по столбцам (шесть сильных локальных минимумов).

enter image description here

Когда вы расположены эти полосы горизонтально, вы можете удалить их в исходном изображении, заполняя белые прямоугольники. Вы также можете найти их по вертикали в своих соответствующих срезах и использовать эту информацию для выполнения верстки, а затем стирать. Вы также можете предсказать положение крайних левых и правых пустот.

Это вид результата можно достичь:

enter image description here

enter image description here

+0

Спасибо и сэра за ответ и я получил уры идеи обнаружения сгустков вертикального подсчета черных pixels.but я не могу удалить blobs perfect.u может ссылаться на обновленное изображение в моем post.first из всего, что я реализовал 1) двоичный порог 2) getRotation2Dmatrix и wrapAffine функции для размещения 3) Я сделал небольшой код для обнаружения blobs 4) заменил те капли с пробелами. Я думаю, что последний шаг не работает нормально. –

+0

, если вы используете opencv или matlab.please. –

+0

@PraveenGadiyaram: Я не сделал, я использовал свое собственное программное обеспечение. Ваши полосы стирания слишком узкие, почему бы вам просто не увеличить их? –