Cara Melaksanakan Pengecaman Karakter Optik di Python



Artikel ini akan memberi anda pengetahuan terperinci dan komprehensif mengenai bagaimana melaksanakan Pengiktirafan Karakter Optik di Python.

Pengiktirafan Karakter Optik sangat penting dan aspek utama dan bahasa pengaturcaraan. Penerapan konsep sedemikian dalam senario dunia nyata sangat banyak. Dalam artikel ini, kita akan membincangkan cara menerapkan Pengecaman Karakter Optik di Python

Aplikasi Pengiktirafan Karakter Optik

Kaunter tiket menggunakan ini secara meluas untuk mengimbas dan mengesan maklumat penting pada tiket untuk mengesan laluan dan maklumat penumpang. Penukaran teks kertas menjadi format digital di mana kamera menangkap gambar beresolusi tinggi dan kemudian OCR digunakan untuk membawanya ke dalam format kata atau PDF.





charachters

Pengenalan OCR dengan python dikreditkan kepada penambahan perpustakaan serba boleh seperti 'Tesseract' dan 'Orcad'. Perpustakaan ini telah membantu banyak pengekod dan pembangun untuk mempermudah reka bentuk kod merekadan membiarkan mereka menghabiskan lebih banyak masa untuk aspek lain dari projek mereka. Oleh kerana faedahnya sangat besar, mari kita lihat apa itu dan bagaimana ia dilakukan.



Membina Pengiktirafan Watak Optik di Python

Pertama kita perlu membuat kelas menggunakan 'pytesseract'. Kelas ini akan membolehkan kami mengimport gambar dan mengimbasnya. Dalam prosesnya, ia akan mengeluarkan fail dengan ekstensi 'ocr.py'. Mari kita lihat kod di bawah. Blok fungsi 'process_image' digunakan untuk mempertajam teks yang kita dapatkan.

apa itu fungsi maya java

Fungsi pengendali dan pandangan laluan berikut ditambahkan ke aplikasi (app.py).

Kod Pengendali Penghala



// ROUTE HANDLER @ app.route ('/ v {} / ocr'.format (_VERSION), kaedah = [' POST ']) def ocr (): cuba: url = request.json [' image_url '] if' jpg 'in url: output = process_image (url) return jsonify ({' output ': output}) other: return jsonify ({' error ':' only .jpg files, please '}) kecuali: return jsonify ({' error ':' Maksud anda mengirim: {'image_url': 'some_jpeg_url'} '})

Kod Enjin OCR

// Permintaan import OCR ENGINE pytesseract dari PIL import Imej dari PIL import ImageFilter dari StringIO import StringIO def process_image (url): image = _get_image (url) image.filter (ImageFilter.SHARPEN) return pytesseract.image_to_string (image) def _get_image (gambar url): kembali Image.open (StringIO (request.get (url) .content)) //

Pastikan untuk mengemas kini import dan menambah nombor versi API.

import os import logging dari logging import Formatter, FileHandler dari termos import Flask, request, jsonify dari ocr import process_image _VERSION = 1 # Versi API

Kami menambah respons JSON fungsi OCR Engine iaitu 'process_image ()'. JSON digunakan untuk mengumpulkan maklumat yang masuk dan keluar dari API. Kami menyampaikan respons dalam file objek menggunakan perpustakaan 'Gambar' dari PIL untuk memasangnya.

Harap maklum bahawa kod ini hanya berprestasi terbaik dengan gambar .jpg sahaja. Sekiranya kita menggunakan perpustakaan kompleks yang dapat menampilkan pelbagai format gambar maka semua gambar dapat diproses dengan berkesan. Perhatikan juga, sekiranya anda berminat untuk mencuba kod ini sendiri, sila pasang PIL yang diperoleh dari perpustakaan 'Bantal' terlebih dahulu

& bull Mulakan dengan menjalankan aplikasi, iaitu 'app.py':

rentetan java memisahkan regex berbilang pembatas
// $ cd ../home/flask_server/ $ python app.py //

& bull Kemudian, dalam terminal lain jalankan:

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

Sebagai contoh:

// $ 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'} //

Kelebihan dan Kekurangan OCR Engine

Dari banyak aplikasi menggunakan OCR di python, yang popular adalah pengenalan tulisan tangan. Orang menggunakan ini adalah untuk mencipta teks bertulis yang kemudian dapat diisi ke dalam banyak salinan dan bukan hanya menyalin naskah aslinya. Ini untuk mewujudkan keseragaman dan kesahan.

OCR juga berguna dalam menukar PDF ke teks dan menyimpannya sebagai pemboleh ubah. Ini kemudian boleh dikenakan sejumlah pra-pemprosesan untuk tugas tambahan. Walaupun konsep OCR nampaknya menjadi topik yang bermanfaat di dunia Python, ia pasti berkongsi kekurangannya.

OCR tidak selalu dapat menjamin ketepatan 100%. Latihan berjam-jam perlu diterapkan dengan bantuan konsep Artificial Intelligence yang dapat membolehkan mesin OCR belajar dan mengenali gambar yang buruk. Gambar tulisan tangan dapat dikenali tetapi bergantung pada beberapa faktor seperti gaya penulisan, warna halaman, kontras gambar dan resolusi gambar.

Dengan ini, kita mengakhiri pengiktirafan Karakter Optik ini dalam artikel Python. Saya harap anda memahami bagaimana sebenarnya OCR berfungsi.

Untuk mendapatkan pengetahuan mendalam tentang Python bersama dengan pelbagai aplikasinya, anda boleh untuk latihan dalam talian secara langsung dengan sokongan 24/7 dan akses seumur hidup.

Ada soalan untuk kami? Sebutkannya di bahagian komen 'Pengiktirafan Karakter Optik di Python' dan kami akan menghubungi anda.