Как реализовать оптическое распознавание символов в Python



Эта статья предоставит вам подробные и всесторонние знания о том, как реализовать оптическое распознавание символов в Python.

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

Приложения оптического распознавания символов

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





charachters

Внедрение OCR с python связано с добавлением универсальных библиотек, таких как Tesseract и Orcad. Эти библиотеки помогли многим кодировщикам и разработчикам упростить дизайн кода.и позволить им тратить больше времени на другие аспекты своих проектов. Поскольку преимущества огромны, давайте посмотрим, что это такое и как это делается.



программа двоичного поиска на Java

Создание оптического распознавания символов в Python

Сначала нам нужно создать класс с помощью pytesseract. Этот класс позволит нам импортировать изображения и сканировать их. В процессе он будет выводить файлы с расширением «ocr.py». Давайте посмотрим на код ниже. Функциональный блок «process_image» используется для повышения резкости получаемого текста.

В приложение добавляются следующий обработчик маршрута и функция просмотра (app.py).

Код обработчика маршрутизатора



// ОБРАБОТКА МАРШРУТА @ app.route ('/ v {} / ocr'.format (_VERSION), methods = [' POST ']) def ocr (): try: url = request.json [' image_url '] if' jpg 'в url: output = process_image (url) return jsonify ({' output ': output}) else: return jsonify ({' error ':' только файлы .jpg, пожалуйста '}) за исключением: return jsonify ({' error ':' Возможно, вы хотели отправить: {'image_url': 'some_jpeg_url'} '})

Код движка OCR

// OCR ENGINE import pytesseract запросы на импорт из PIL импорт изображения из PIL импорт ImageFilter из StringIO import StringIO def process_image (url): image = _get_image (url) image.filter (ImageFilter.SHARPEN) return pytesseract.image_to_string (image) def _get_image ( url): return Image.open (StringIO (requests.get (url) .content)) //

Обязательно обновите импорт и добавьте номер версии API.

import os import logging from logging import Formatter, FileHandler from flask import Flask, request, jsonify from ocr import process_image _VERSION = 1 # Версия API

Мы добавляем ответ JSON функции OCR Engine, который называется «process_image ()». JSON используется для сбора информации, входящей в API и исходящей из него. Мы передаем ответ в объектном файле, используя библиотеку «Image» из PIL для его установки.

Обратите внимание, что этот код лучше всего работает только с изображениями в формате .jpg. Если мы используем сложные библиотеки, которые могут содержать несколько форматов изображений, тогда все изображения можно будет эффективно обрабатывать. Также обратите внимание: если вы хотите попробовать этот код самостоятельно, пожалуйста, сначала установите PIL, полученный из библиотеки Pillow.

& bull Начните с запуска приложения «app.py»:

// $ cd ../home/flask_server/ $ python app.py //

& bull Затем в другом терминале запустите:

// $ curl -X POST http: // localhost: 5000 / v1 / ocr -d '{' image_url ':' some_url '}' -H 'Content-Type: application / json'

Например:

// $ curl -X POST http: // localhost: 5000 / v1 / ocr -d '{' C: UsersakashDownloadsPic1 ':' https://edureka.com/images/blog_images/ocr/ocr.jpg '}' - H 'Content-Type: application / json' {'output': 'ABCDEnFGH I JnKLMNOnPQRST'} //

Преимущества и недостатки OCR Engine

Из многих приложений использования OCR в Python наиболее популярным является распознавание рукописного ввода. Люди применяют это, чтобы воссоздать письменный текст, который затем можно заполнить множеством копий, а не просто копировать исходный сценарий. Это необходимо для единообразия и удобочитаемости.

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

OCR не всегда может гарантировать 100% точность. Необходимо провести много часов обучения с помощью концепций искусственного интеллекта, которые могут позволить механизму OCR изучать и распознавать плохие изображения. Рукописные изображения можно распознать, но они зависят от нескольких факторов, таких как стиль письма, цвет страницы, контраст изображения и разрешение изображения.

На этом мы подошли к концу статьи об оптическом распознавании символов в Python. Надеюсь, вы поймете, как именно работает OCR.

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

Есть вопрос к нам? Упомяните их в разделе комментариев «Оптического распознавания символов в Python», и мы свяжемся с вами.