Jak zaimplementować optyczne rozpoznawanie znaków w Pythonie

W tym artykule znajdziesz szczegółową i wszechstronną wiedzę na temat implementacji optycznego rozpoznawania znaków w Pythonie.

Optyczne rozpoznawanie znaków ma kluczowe znaczenie i jest kluczowym aspektem język programowania. Zastosowanie takich koncepcji w rzeczywistych scenariuszach jest liczne. W tym artykule omówimy, jak zaimplementować optyczne rozpoznawanie znaków w Pythonie



Zastosowania optycznego rozpoznawania znaków

Kasy biletowe używają go szeroko do skanowania i wykrywania kluczowych informacji na bilecie w celu śledzenia tras i szczegółów osób dojeżdżających do pracy. Konwersja tekstu papierowego do formatów cyfrowych, w których aparaty rejestrują zdjęcia w wysokiej rozdzielczości, a następnie wykorzystuje OCR, aby przekształcić je w format Word lub PDF.



charachters

Przeciążanie metod i przesłanianie metod

Wprowadzenie OCR w Pythonie przypisuje się dodaniu wszechstronnych bibliotek, takich jak „Tesseract” i „Orcad”. Biblioteki te pomogły wielu programistom i programistom uprościć projektowanie kodui pozwolić im poświęcić więcej czasu na inne aspekty ich projektów. Ponieważ korzyści są ogromne, zajrzyjmy do tego, czym jest i jak to się robi.



Budowanie optycznego rozpoznawania znaków w Pythonie

Najpierw musimy utworzyć klasę używając „pytesseract”. Ta klasa umożliwi nam importowanie obrazów i ich skanowanie. W trakcie tego procesu wyprowadza pliki z rozszerzeniem „ocr.py”. Zobaczmy poniższy kod. Blok funkcyjny „process_image” służy do wyostrzania otrzymywanego tekstu.

Następująca procedura obsługi trasy i funkcja widoku są dodawane do aplikacji (app.py).

Kod obsługi routera



// OBSŁUGA TRASY @ app.route ('/ v {} / ocr'.format (_VERSION), methods = [' POST ']) def ocr (): try: url = request.json [' image_url '] if' jpg 'w url: output = process_image (url) return jsonify ({' output ': output}) else: return jsonify ({' error ':' only .jpg files, please '}) z wyjątkiem: return jsonify ({' error ':' Czy chodziło Ci o wysłanie: {'image_url': 'some_jpeg_url'} '})

Kod silnika OCR

// OCR ENGINE import pytesseract żądania importu z PIL import obraz z PIL import ImageFilter z StringIO import StringIO def process_image (url): image = _get_image (url) image.filter (ImageFilter.SHARPEN) return pytesseract.image_to_string (image) def _get_image ( url): return Image.open (StringIO (request.get (url) .content)) //

Pamiętaj, aby zaktualizować import i dodać numer wersji interfejsu API.

import OS import logowanie z logów import Formatter, FileHandler z flask import Flask, request, jsonify z ocr import process_image _VERSION = 1 # wersja API

Dodajemy odpowiedź JSON funkcji silnika OCR, czyli „process_image ()”. JSON służy do zbierania informacji wchodzących i wychodzących z interfejsu API. Odpowiedź przekazujemy w pliku obiektowym za pomocą biblioteki „Image” z PIL, aby ją zainstalować.

Należy pamiętać, że ten kod działa najlepiej tylko z obrazami w formacie jpg. Jeśli korzystamy ze złożonych bibliotek, które mogą zawierać wiele formatów obrazów, wówczas wszystkie obrazy mogą być skutecznie przetwarzane. Pamiętaj również, że jeśli jesteś zainteresowany samodzielnym wypróbowaniem tego kodu, zainstaluj najpierw PIL, który jest kupowany z biblioteki „Pillow”

& byk Zacznij od uruchomienia aplikacji „app.py”:

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

& byk Następnie w innym terminalu uruchom:

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

Na przykład:

metody klasy skanera w java
// $ 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'} //

Zalety i wady silnika OCR

Spośród wielu zastosowań OCR w Pythonie popularnym jest rozpoznawanie pisma ręcznego. Ludzie stosują to, aby odtworzyć tekst pisany, który można następnie umieścić w wielu kopiach, a nie tylko kopiować oryginalny skrypt. Ma to na celu zapewnienie jednolitości i czytelności.

OCR przydaje się również do konwersji plików PDF na teksty i przechowywania ich jako zmiennych. Można to później poddać dowolnej ilości wstępnego przetwarzania w celu wykonania dodatkowych zadań. Chociaż koncepcja OCR wydaje się być korzystnym tematem w świecie Pythona, z pewnością ma też część wad.

OCR nie zawsze może zagwarantować 100% dokładność. Trzeba przeprowadzić wiele godzin szkolenia z pomocą koncepcji sztucznej inteligencji, które mogą umożliwić silnikowi OCR naukę i rozpoznawanie słabych obrazów. Obrazy pisma ręcznego można rozpoznać, ale zależą one od kilku czynników, takich jak styl pisma, kolor strony, kontrast obrazu i rozdzielczość obrazu.

Na tym kończymy artykuł o optycznym rozpoznawaniu znaków w języku Python. Mam nadzieję, że zrozumiesz, jak dokładnie działa OCR.

Aby uzyskać dogłębną wiedzę na temat języka Python i jego różnych aplikacji, możesz do szkoleń online na żywo z całodobowym wsparciem i dożywotnim dostępem.

Masz do nas pytanie? Wspomnij o nich w sekcji komentarzy „Optyczne rozpoznawanie znaków w Pythonie”, a my skontaktujemy się z Tobą.