Przejdź do treści stopki
NARZęDZIA OCR

Jak zbudować OCR w języku Python

Świat jest zalany ogromnymi ilościami informacji tekstowych. Istnieje bogactwo wartościowych treści, które mogłyby być niezwykle przydatne, gdyby tylko były nieco bardziej dostępne.

W tym miejscu do gry wkracza technologia optycznego rozpoznawania znaków (OCR). Wyobraź sobie komputer, który potrafi "czytać" tekst z obrazów tak jak człowiek. To właśnie wizja komputerowa, czyli dziedzina informatyki, w której możemy nauczyć komputery rozpoznawania i identyfikowania różnych obiektów na obrazie.

W tym samouczku przeprowadzimy Cię przez proces tworzenia własnego systemu OCR przy użyciu języka programowania Python, znanego ze swojej prostoty i wszechstronności. Dzięki bibliotekom takim jak Tesseract, IronOCR i OpenCV wkrótce będziesz w stanie wykorzystać potencjał pozyskiwania, przetwarzania i pracy z tekstem z obrazów dokumentów.

Wymagania wstępne silnika OCR (optycznego rozpoznawania znaków)

Zanim zagłębimy się w szczegóły tworzenia naszego systemu OCR, potrzebujesz kilku rzeczy:

  1. Python: Upewnij się, że masz zainstalowany Python na swoim komputerze. Można go pobrać z oficjalnej strony internetowej języka Python.
  2. Zainstaluj Tesseract OCR: Tesseract OCR to silnik OCR typu open source opracowany przez Google. To potężne narzędzie, z którego będziemy korzystać w naszym projekcie. Bibliotekę Tesseract można pobrać z serwisu GitHub oraz zapoznać się z procesem instalacji OCR Tesseract.
  3. Biblioteki Pythona: W tym projekcie będziemy korzystać z dwóch ważnych bibliotek Pythona: pytesseract oraz biblioteki opencv-python. Można je zainstalować za pomocą następującego polecenia w wierszu poleceń lub terminalu:

    pip install pytesseract opencv-python
    pip install pytesseract opencv-python
    SHELL

Jak zbudować OCR w Pythonie: Rysunek 1

Kroki tworzenia systemu OCR

Możesz łatwo stworzyć OCR przy użyciu kodu w języku Python, korzystając z bibliotek OCR dla Pythona i prostego skryptu w tym języku.

Krok 1: Import bibliotek

Na początek należy zaimportować niezbędne biblioteki:

import cv2  # OpenCV library for computer vision
import pytesseract  # Tesseract library for OCR
import cv2  # OpenCV library for computer vision
import pytesseract  # Tesseract library for OCR
PYTHON

Krok 2: Odczytanie i przetworzenie obrazu

Załaduj obraz za pomocą OpenCV i przetwórz go wstępnie, aby zwiększyć dokładność OCR:

# Load the image using OpenCV
image = cv2.imread('sample_image.png') 

# Convert the image to grayscale
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) 

# Apply thresholding or other preprocessing techniques if needed
# This step helps in enhancing the quality for better OCR results
# Load the image using OpenCV
image = cv2.imread('sample_image.png') 

# Convert the image to grayscale
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) 

# Apply thresholding or other preprocessing techniques if needed
# This step helps in enhancing the quality for better OCR results
PYTHON

Krok 3: Użyj Tesseract do OCR

Teraz nadszedł czas, aby użyć silnika OCR Tesseract do przeprowadzenia rozpoznawania tekstu na przetworzonym obrazie:

# Set the path to the Tesseract executable
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files (x86)\Tesseract-OCR\tesseract.exe'

# Use pytesseract to perform OCR on the grayscale image
text = pytesseract.image_to_string(gray_image)
# Set the path to the Tesseract executable
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files (x86)\Tesseract-OCR\tesseract.exe'

# Use pytesseract to perform OCR on the grayscale image
text = pytesseract.image_to_string(gray_image)
PYTHON

Krok 4: Wyświetl wyniki

Jeśli chcesz wyświetlić oryginalny obraz i wyodrębniony tekst, możesz użyć biblioteki OpenCV:

# Display the original image using OpenCV
cv2.imshow('Original Image', image) 
cv2.waitKey(0) 

# Print the extracted text to the console
print("Extracted Text:", text) 

cv2.destroyAllWindows()  # Close the OpenCV window
# Display the original image using OpenCV
cv2.imshow('Original Image', image) 
cv2.waitKey(0) 

# Print the extracted text to the console
print("Extracted Text:", text) 

cv2.destroyAllWindows()  # Close the OpenCV window
PYTHON

Oryginalny obraz

Jak zbudować OCR w Pythonie: Rysunek 2

Wyodrębniony tekst

Jak zbudować OCR w Pythonie: Rysunek 3

Jak widać, wynik może się różnić w zależności od jakości i złożoności obrazu, a w niektórych przypadkach może być potrzebne dodatkowe szkolenie (podobne do szkolenia w zakresie uczenia maszynowego) dla obrazów o złożonej strukturze, np. zawierających tabele.

IronOCR

W świecie zalewanym danymi możliwość łatwego przekształcania tekstu drukowanego w treści czytelne dla maszyn stanowi przełomową funkcję.

Przedstawiamy IronOCR – najnowocześniejszą technologię, która umożliwia programistom łatwą integrację solidnych funkcji optycznego rozpoznawania znaków (OCR) z ich aplikacjami.

Niezależnie od tego, czy wyodrębniasz dane ze skanowanych dokumentów, automatyzujesz wprowadzanie danych, czy poprawiasz dostępność, IronOCR oferuje kompleksowe rozwiązanie, które wykracza poza granice tradycyjnego rozpoznawania tekstu.

W niniejszym opracowaniu zagłębiamy się w świat IronOCR, odkrywając jego wszechstronne funkcje i podkreślając jego potencjał w zakresie wypełniania luki między światem fizycznym a cyfrowym.

Instalacja IronOCR

Możesz łatwo zainstalować IronOCR za pomocą konsoli NuGet Package Manager Console, po prostu uruchamiając następujące polecenie.

Install-Package IronOcr

IronOCR jest również dostępny do pobrania na oficjalnej stronie NuGet.

Wyodrębnianie tekstu z obrazu za pomocą IronOCR

W tej sekcji zobaczymy, jak w prosty sposób wyodrębnić tekst z obrazów za pomocą IronOCR. Poniżej znajduje się kod źródłowy, który wyodrębnia tekst z obrazu.

using IronOcr;
using System;

var ocr = new IronTesseract();

using (var input = new OcrInput())
{
    input.AddImage("r3.png");
    OcrResult result = ocr.Read(input);
    string text = result.Text;
    Console.WriteLine(result.Text);
}
using IronOcr;
using System;

var ocr = new IronTesseract();

using (var input = new OcrInput())
{
    input.AddImage("r3.png");
    OcrResult result = ocr.Read(input);
    string text = result.Text;
    Console.WriteLine(result.Text);
}
Imports IronOcr
Imports System

Private ocr = New IronTesseract()

Using input = New OcrInput()
	input.AddImage("r3.png")
	Dim result As OcrResult = ocr.Read(input)
	Dim text As String = result.Text
	Console.WriteLine(result.Text)
End Using
$vbLabelText   $csharpLabel

Wynik

Jak zbudować OCR w Pythonie: Rysunek 4

Wnioski

W tym samouczku omówiliśmy proces tworzenia systemu optycznego rozpoznawania znaków (OCR) w języku Python, pokazując, jak łatwo można wyodrębnić tekst z obrazów.

Wykorzystując biblioteki takie jak Tesseract i OpenCV, przeszliśmy przez wszystkie niezbędne etapy, od ładowania i wstępnego przetwarzania obrazów po wykorzystanie silnika OCR Tesseract do ekstrakcji tekstu.

Poruszyliśmy również potencjalne wyzwania, takie jak ograniczenia dokładności, którym mają zaradzić zaawansowane rozwiązania, takie jak IronOCR.

Niezależnie od tego, czy zdecydujesz się na samodzielne wykonanie zadania, czy też skorzystasz z zaawansowanych narzędzi, świat OCR kusi obietnicą przekształcania obrazów w tekst, który można wykorzystać, usprawniania wprowadzania danych i zwiększania dostępności. Dzięki tej nowej wiedzy jesteś gotowy, by wyruszyć w podróż, która płynnie łączy świat wizualny ze światem cyfrowym.

Aby rozpocząć korzystanie z IronOCR, odwiedź poniższy link. Aby zapoznać się z całym samouczkiem dotyczącym wyodrębniania tekstu z obrazów, kliknij tutaj.

Jeśli chcesz wypróbować IronOCR za darmo już dziś, koniecznie skorzystaj z wersji próbnej oferowanej przez IronOCR, aby poznać wszystkie jego zastosowania i potencjał w środowisku komercyjnym bez znaku wodnego. Aby kontynuować korzystanie z niego po upływie 15 dni, wystarczy zakupić licencję.

Kannaopat Udonpant
Inżynier oprogramowania
Zanim stał się inżynierem oprogramowania, Kannapat ukończył doktorat z zasobów środowiskowych na Uniwersytecie Hokkaido w Japonii. W czasie studiowania, Kannapat również został członkiem Laboratorium Robotyki Pojazdów, które jest częścią Wydziału Inżynierii Bioprodukcji. W 2022 roku wykorzystał swoje umiejętności w ...
Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie