Оптичното разпознаване на символи е жизненоважно и ключов аспект програмен език. Прилагането на такива концепции в реални сценарии е многобройно. В тази статия ще обсъдим как да приложим оптично разпознаване на символи в Python
- Приложения за оптично разпознаване на символи
- Изграждане на оптично разпознаване на символи в Python
- Предимства и недостатъци на OCR Engine
Приложения за оптично разпознаване на символи
Броячите на билети използват това широко за сканиране и откриване на ключова информация на билета за проследяване на маршрути и подробности за пътуващите. Преобразуване на хартиен текст в цифрови формати, при които камерите заснемат снимки с висока разделителна способност и след това се използва OCR, за да ги превърне в дума или PDF формат.
Въвеждането на 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“ и ние ще се свържем с вас.