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



Тази статия ще ви предостави подробни и изчерпателни знания за това как да приложите оптично разпознаване на символи в Python.

Оптичното разпознаване на символи е жизненоважно и ключов аспект програмен език. Прилагането на такива концепции в реални сценарии е многобройно. В тази статия ще обсъдим как да приложим оптично разпознаване на символи в Python

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

Броячите на билети използват това широко за сканиране и откриване на ключова информация на билета за проследяване на маршрути и подробности за пътуващите. Преобразуване на хартиен текст в цифрови формати, при които камерите заснемат снимки с висока разделителна способност и след това се използва OCR, за да ги превърне в дума или PDF формат.





charachters

Въвеждането на OCR с python се дължи на добавянето на универсални библиотеки като „Tesseract“ и „Orcad“. Тези библиотеки са помогнали на много програмисти и разработчици да опростят дизайна на кодовете сии им позволяват да отделят повече време за други аспекти на своите проекти. Тъй като ползите са огромни, нека надникнем в това какво е и как се прави.



Изграждане на оптично разпознаване на символи в Python

Първо трябва да направим клас, използвайки “pytesseract”. Този клас ще ни позволи да импортираме изображения и да ги сканираме. В процеса ще изведе файлове с разширение “ocr.py”. Нека видим кода по-долу. Функционалният блок “process_image” се използва за изостряне на текста, който получаваме.

разлика между хвърляне и хвърляния в java

Следният манипулатор на маршрути и функция за преглед се добавят към приложението (app.py).

Код на манипулатора на рутера



// РЪЧНИК ЗА МАРШРУТ @ app.route ('/ v {} / ocr'.format (_VERSION), методи = [' POST ']) def ocr (): опитайте: url = request.json [' image_url '] if' jpg 'в url: output = process_image (url) return jsonify ({' output ': output}) else: return jsonify ({' error ':' only .jpg files, please '}) освен: return jsonify ({' error ':' Искахте ли да изпратите: {'image_url': 'some_jpeg_url'} '})

OCR код на двигателя

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

Моля, уверете се, че сте актуализирали импортирането и добавете номера на версията на API.

import os import logging from logging import Formatter, FileHandler from flask import Flask, заявка, jsonify от ocr import process_image _VERSION = 1 # API версия

Добавяме в JSON отговора на функцията на OCR Engine, който е „process_image ()“. JSON се използва за събиране на информация, влизаща и излизаща от API. Предаваме отговора в обектен файл, използвайки библиотека “Image” от PIL, за да го инсталираме.

Моля, обърнете внимание, че този код се представя най-добре само с .jpg изображения. Ако използваме сложни библиотеки, които могат да включват множество формати на изображения, тогава всички изображения могат да бъдат обработени ефективно. Също така имайте предвид, че в случай че се интересувате да изпробвате сами този код, моля, инсталирайте първо PIL, който е закупен от библиотеката „Pillow“

& bull Започнете, като стартирате приложението, което е „app.py“:

как да използвам пространството от имена в c ++
// $ cd ../home/flask_server/ $ python app.py //

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

// $ curl -X POST http: // localhost: 5000 / v1 / ocr -d '{' image_url ':' some_url '}' -H 'Тип съдържание: 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 заедно с различните му приложения, можете за онлайн обучение на живо с 24/7 поддръжка и доживотен достъп.

Имате въпрос към нас? Споменете ги в раздела за коментари на „Оптично разпознаване на символи в Python“ и ние ще се свържем с вас.