Paano Magpatupad ng Pagkilala sa Optical Character sa Python



Magbibigay sa iyo ang artikulong ito ng isang detalyado at komprehensibong kaalaman kung paano ipatupad ang isang Optical Character Recognition sa Python.

Mahalaga ang Optical Character Recognition at isang pangunahing aspeto at wika ng programa. Ang aplikasyon ng gayong mga konsepto sa mga pangyayari sa real-world ay maraming. Sa artikulong ito, tatalakayin namin kung paano ipatupad ang Pagkilala ng Optical Character sa Python

Mga Aplikasyon ng Pagkilala sa Optical Character

Malawakang ginagamit ito ng mga counter ng tiket para sa pag-scan at pagtuklas ng pangunahing impormasyon sa tiket upang subaybayan ang mga detalye ng ruta at commuter. Ang pagbabago ng teksto ng papel sa mga digital na format kung saan nakakakuha ang mga camera ng mga larawan na may mataas na resolusyon at pagkatapos ay ginagamit ang OCR upang dalhin sila sa isang salita o isang format na PDF.





charachters

Ang pagpapakilala ng OCR na may sawa ay kredito sa pagdaragdag ng maraming nalalaman na mga aklatan tulad ng 'Tesseract' at 'Orcad'. Ang mga libraryong ito ay nakatulong sa maraming mga coder at developer upang gawing simple ang kanilang disenyo ng codeat payagan silang gumugol ng mas maraming oras sa iba pang mga aspeto ng kanilang mga proyekto. Dahil ang mga benepisyo ay napakalaking, tingnan natin kung ano ito at kung paano ito ginagawa.



Pagbuo ng isang Pagkilala sa Optical Character sa Python

Kailangan muna naming gumawa ng isang klase gamit ang 'pytesseract'. Papayagan kami ng klase na ito na mag-import ng mga imahe at i-scan ang mga ito. Sa proseso ay maglalabas ito ng mga file na may extension na 'ocr.py'. Tingnan natin ang code sa ibaba. Ang function block na 'process_image' ay ginagamit upang patalasin ang nakuhang teksto.

Ang sumusunod na handler ng ruta at pag-andar ng view ay idinagdag sa application (app.py).

Code ng Handler ng Router



// ROute HANDLER @ app.route ('/ v {} / ocr'.format (_VERSION), mga pamamaraan = [' POST ']) def ocr (): subukan: url = request.json [' image_url '] kung' jpg 'in url: output = process_image (url) return jsonify ({' output ': output}) else: return jsonify ({' error ':' only .jpg files, please '}) maliban sa: ibalik ang jsonify ({' error ':' Ibig mo bang ipadala: {'image_url': 'some_jpeg_url'} '})

Code ng Engine sa OCR

// OCR ENGINE import pytesseract import requests from PIL import Image from PIL import ImageFilter from StringIO import StringIO def process_image (url): image = _get_image (url) image.filter (ImageFilter.SHARPEN) ibalik ang pytesseract.image_to_string (imahe) def _get_image ( url): ibalik ang Image.open (StringIO (mga kahilingan.get (url). nilalaman)) //

Pakitiyak na i-update ang mga pag-import at magdagdag ng numero ng bersyon ng API.

i-import ang pag-log ng pag-import mula sa pag-log ng pag-import ng Formatter, ang FileHandler mula sa flask import Flask, kahilingan, pag-jsonify mula sa ocr import na proseso_image _VERSION = 1 # na bersyon ng API

Nagdaragdag kami sa tugon ng JSON ng pagpapaandar ng OCR Engine na 'proseso_image ()'. Ginagamit ang JSON para sa pagkalap ng impormasyong papasok at papalabas ng API. Ipinapasa namin ang tugon sa isang file ng object gamit ang library na 'Imahe' mula sa PIL upang mai-install ito.

Mangyaring tandaan na ang code na ito ay pinakamahusay na gumaganap nang may mga .jpg na imahe lamang. Kung gagamit kami ng mga kumplikadong aklatan na maaaring magtampok ng maraming mga format ng imahe kung gayon ang lahat ng mga imahe ay maaaring maproseso nang epektibo. Tandaan din, kung sakaling interesado kang subukan ang code na ito sa iyong sarili, pagkatapos ay mangyaring i-install ang PIL na nakuha sa labas ng library na 'Pillow'

& bull Magsimula sa pamamagitan ng pagpapatakbo ng app, na kung saan ay 'app.py':

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

& bull Pagkatapos, sa ibang terminal run:

para saan ginagamit ang data science
// $ curl -X POST http: // localhost: 5000 / v1 / ocr -d '{' image_url ':' some_url '}' -H 'Type-Content: application / json'

Halimbawa:

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

Mga Kalamangan at Kalamangan ng OCR Engine

Mula sa maraming mga application ng paggamit ng OCR sa sawa, ang sikat ay ang pagkilala sa sulat-kamay. Inilapat ito ng mga tao upang muling likhain ang nakasulat na teksto na maaaring mapunan sa maraming mga kopya sa halip na kopyahin lamang ang orihinal na script. Ito ay upang magdulot ng pagkakapareho at pagiging wasto.

Kapaki-pakinabang din ang OCR sa pag-convert ng mga PDF sa mga teksto at iimbak ang mga ito bilang mga variable. Pagkatapos ay maaari itong mapailalim sa anumang halaga ng paunang pagproseso para sa mga karagdagang gawain. Bagaman ang konsepto ng OCR ay tila isang kapaki-pakinabang na paksa sa mundo ng Python, sigurado itong ibinabahagi ang bahagi nito ng mga kawalan.

Hindi palaging ginagarantiyahan ng OCR ang katumpakan ng 100%. Maraming oras ng pagsasanay ang kailangang mailapat sa tulong ng mga konsepto ng Artipisyal na Intelihensiya na maaaring paganahin ang makina ng OCR upang malaman at makilala ang mga hindi magandang imahe. Ang mga imahe ng sulat-kamay ay maaaring makilala ngunit nakasalalay ito sa maraming mga kadahilanan tulad ng estilo ng pagsulat, ang kulay ng pahina, ang kaibahan ng imahe at ang paglutas ng imahe.

Sa pamamagitan nito, natapos namin ang pagkilala ng Optical Character Recognition na ito sa artikulong Python. Inaasahan kong pumunta ka sa isang pag-unawa sa kung paano eksaktong gumagana ang OCR.

Upang makakuha ng malalim na kaalaman sa Python kasama ang iba't ibang mga application nito, maaari mo para sa live na pagsasanay sa online na may suporta na 24/7 at habang-buhay na pag-access.

May tanong ba sa amin? Nabanggit ang mga ito sa seksyon ng mga komento ng 'Pagkilala sa Optical Character sa Python' at babalikan ka namin.