Kā īstenot optisko rakstzīmju atpazīšanu Python



Šis raksts sniegs jums detalizētas un visaptverošas zināšanas par to, kā ieviest optisko rakstzīmju atpazīšanu Python.

Rakstzīmju optiskā atpazīšana ir vitāli svarīgs aspekts un programmēšanas valoda. Šādu jēdzienu piemērošana reālās situācijās ir daudz. Šajā rakstā mēs apspriedīsim, kā ieviest optisko rakstzīmju atpazīšanu Python

Rakstzīmju optiskās atpazīšanas lietojumi

Biļešu skaitītāji to plaši izmanto, lai skenētu un noteiktu galveno informāciju uz biļetes, lai izsekotu maršrutus un informāciju par piepilsētas braucējiem. Papīra teksta pārveidošana ciparu formātos, kur kameras uzņem augstas izšķirtspējas fotogrāfijas, un pēc tam tiek izmantots OCR, lai tās pārvērstu vārdos vai PDF formātā.





charachters

OCR ar pitonu ieviešana tiek uzskatīta par daudzpusīgu bibliotēku, piemēram, “Tesseract” un “Orcad”, pievienošanu. Šīs bibliotēkas daudziem kodētājiem un izstrādātājiem ir palīdzējušas vienkāršot kodu noformējumuun ļaut viņiem vairāk laika veltīt citiem savu projektu aspektiem. Tā kā ieguvumi ir milzīgi, palūkosimies, kas tas ir un kā tas tiek darīts.



Optiskās rakstzīmju atpazīšanas veidošana Python

Vispirms mums jāizveido klase, izmantojot “pytesseract”. Šī klase ļaus mums importēt attēlus un tos skenēt. Šajā procesā tā izvadīs failus ar paplašinājumu “ocr.py”. Ļaujiet mums redzēt zemāk redzamo kodu. Funkciju bloks “process_image” tiek izmantots, lai saasinātu saņemto tekstu.

Lietojumprogrammai tiek pievienots šāds maršruta apstrādātājs un skata funkcija (app.py).

Maršrutētāja apstrādātāja kods



// MARŠRUTA RĀDĪTĀJS @ app.route ('/ v {} / ocr'.format (_VERSION), metodes = [' POST ']] def ocr (): mēģiniet: url = request.json [' image_url '] ja' jpg 'URL: output = process_image (url) return jsonify ({' output ': output}) else: return jsonify ({' kļūda ':' lūdzu, tikai .jpg faili, lūdzu '}), izņemot: return jsonify ({' kļūda ':' Vai jūs gribējāt nosūtīt: {'image_url': 'some_jpeg_url'} '})

OCR dzinēja kods

// OCR ENGINE importēt pytesseract importēšanas pieprasījumus no PIL importēt attēlu no PIL importēt ImageFilter no StringIO importēt StringIO def process_image (url): image = _get_image (url) image.filter (ImageFilter.SHARPEN) atgriež pytesseract.image_to_string (image) def _get_image ( url): atgriezt Image.open (StringIO (pieprasījumi.get (url) .content)) //

Lūdzu, atjauniniet importēšanu un pievienojiet API versijas numuru.

importēt os importēt mežizstrādi no reģistrēšanas importēt formatēt, FileHandler no kolbas importēt kolbu, pieprasīt, jsonify no okt. import process_image _VERSION = 1 # API versija

JSON atbildē pievienojam OCR Engine funkciju, kas ir “process_image ()”. JSON tiek izmantots informācijas vākšanai, iekļūstot un izejot no API. Mēs nododam atbildi objekta failā, izmantojot PIL bibliotēku “Image”, lai to instalētu.

Lūdzu, ņemiet vērā, ka šis kods vislabāk darbojas tikai ar .jpg attēliem. Ja mēs izmantojam sarežģītas bibliotēkas, kurās var izmantot vairākus attēlu formātus, visus attēlus var efektīvi apstrādāt. Ņemiet vērā arī to, ka, ja jūs vēlaties izmēģināt šo kodu pats, lūdzu, vispirms instalējiet PIL, kas tiek iegūts no bibliotēkas “Spilvens”

& bullis Sāciet, palaižot lietotni, kas ir “app.py”:

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

& bullis Tad citā termināla palaišanā:

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

Piemēram:

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

OCR dzinēja priekšrocības un trūkumi

No daudzajām OCR izmantošanas Python lietojumprogrammām populārā ir rokraksta atpazīšana. Cilvēki to izmanto, lai atjaunotu rakstīto tekstu, kuru pēc tam var aizpildīt daudzos eksemplāros, nevis tikai kopēt oriģinālo skriptu. Tas nodrošina vienveidību un salasāmību.

OCR ir noderīga arī, pārveidojot PDF failus tekstos un saglabājot tos kā mainīgos. Pēc tam to var pakļaut jebkurai iepriekšēju apstrādei papildu uzdevumu veikšanai. Lai gan OCR jēdziens, šķiet, ir izdevīga tēma Python pasaulē, tas noteikti dalās ar savu trūkumu daļu.

OCR ne vienmēr var garantēt 100% precizitāti. Ar mākslīgā intelekta koncepciju palīdzību jāpiedalās daudz stundu apmācībā, kas OCR dzinējam ļauj iemācīties un atpazīt sliktus attēlus. Rokraksta attēlus var atpazīt, taču tie ir atkarīgi no vairākiem faktoriem, piemēram, rakstīšanas stila, lapas krāsas, attēla kontrasta un attēla izšķirtspējas.

Ar to mēs esam pabeiguši šo optisko rakstzīmju atpazīšanu Python rakstā. Es ceru, ka jūs saprotat, kā tieši darbojas OCR.

binārā meklēšanas programma java

Lai iegūtu padziļinātas zināšanas par Python kopā ar dažādām lietojumprogrammām, varat tiešsaistes apmācībai tiešsaistē ar diennakts atbalstu un piekļuvi mūža garumā.

Vai mums ir jautājums? Pieminiet tos komentāru sadaļā “Optiskā rakstzīmju atpazīšana Python”, un mēs ar jums sazināsimies.