Используя OpenCV, как я могу определить ориентацию текста перед выполнением OCR?

Я использую OpenCV в приложении iOS. Я хотел бы выполнить OCR по некоторому тексту, но сначала мне нужно определить его ориентацию.

Как это сделать в OpenCV?

  • Стретч-область изображения через opencv или opengl в iOS
  • OpenCV: wrapPerspective для всего изображения
  • openCV 2.4.8 Исходные ошибки компоновщика iOS 7.0
  • Идеи, как я могу измерить расстояние от обнаруженного объекта от камеры, используя opencv для IOS?
  • OpenCV + OpenGL: правильная поза камеры с помощью solvePnP
  • Обнаружение динамической формы другой формы (круг, квадрат и прямоугольник) с камеры?
  • OpenCV 2.4.4 и Tesseract 3.02.02 Не связывайтесь
  • cap_ios.h не найден
  • 4 Solutions collect form web for “Используя OpenCV, как я могу определить ориентацию текста перед выполнением OCR?”

    Я не уверен, что можно ответить на вопрос без предоставления OCR в Objective-C – что-то, что вряд ли можно сделать в нескольких строках текста без использования библиотеки OCR.

    Хорошо, 20 лет назад я написал систему OCR (без использования библиотеки OCR), чтобы читать банковские чеки в режиме реального времени. Кстати, он также аутентифицировал рукописные подписи.

    Проблема проверки ориентации была беременна, потому что проверки могли быть введены случайным образом (операторами-операторами) в небольшом моторизованном банковском контрольном сканере.

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

    Некоторые charcters неоднозначны, как «O», но большинство других скажет вам, что изображение инвертировано или зеркально, так что только чтение первых 3-5 charcters выполнит работу (если у вас нет повторений).

    Удачи!

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

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

    Преобразование Хафа может помочь вам . Максимум (точнее, это доминирующий кластер, но для этого вам понадобятся k-средства с k = 1) на карте голосования на головок даст вам нужный угол.

    введите описание изображения здесь

    Этот ответ был обновлен .

    • Если вам нужно определить угол поворота текста, взгляните на эту статью (она имеет исходный код):

    • После того, как текст будет скорректирован, процедура OCR может быть выполнена и результат по сравнению со словарем. Если уровень соответствия высокий, вы знаете, что текст был правильно повернут, и ориентация теперь в порядке.
    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.