Komplett OCR-pipeline med Keras och TensorFlow
Använd Keras-OCR för enkel men kraftfull textigenkänning i Python.
Vad är Keras-OCR API?
Keras-OCR är ett högnivå Python-bibliotek med öppen källkod som är utformat för att förenkla uppgifter för optisk teckenigenkänning (OCR) med hjälp av Keras och TensorFlow. Till skillnad från traditionella OCR-system som kräver omfattande konfiguration erbjuder Keras-OCR en komplett pipeline med förtränade modeller för både textdetektering (med CRAFT-algoritmen) och textigenkänning (via en CRNN-modell). Denna kombination gör det möjligt för utvecklare att extrahera text från bilder, skannade dokument eller till och med handskrivna anteckningar med bara några få kodrader.
Biblioteket är optimerat för verkliga användningsfall, inklusive:
- Digitalisering av dokument: Konvertera pappersdokument eller PDF-filer till sökbar text
- Automatiserad datainmatning: Extrahera text från fakturor, kvitton eller formulär
- Tillgänglighetsverktyg: Generera alt-text för bilder i webbapplikationer
- Sociala medie-analys: Bearbeta text inbäddad i memes eller användargenererat innehåll
Med inbyggt stöd för batchbearbetning och valfri GPU-accelerering balanserar Keras-OCR användarvänlighet med prestanda, vilket gör det idealiskt för både prototyper och produktionsimplementeringar.
Keras-OCRs huvudsakliga funktioner
- Förtränade modeller: Inkluderar CRAFT (detektor) och CRNN (igenkännare) för omedelbar användning
- Enkel installation: Minimala beroenden (Keras, TensorFlow, OpenCV)
- Batchbearbetning: Bearbeta flera bilder parallellt för effektivitet
- Anpassad träning: Finjustera modeller med dina egna dataset
- Ingen GPU krävs: Kör på CPU men accelereras med GPU
- Avgränsningsrutor: Returnerar text med koordinater för rumslig analys
- Öppen källkod: Gratis, community-driven och MIT-licensierad
Installation
Installera Keras-OCR via pip (kräver Python 3.6+):
Installera Keras-OCR
pip install keras-ocr
För GPU-stöd, se till att TensorFlow med GPU är installerat:
Installera TensorFlow GPU
pip install tensorflow-gpu
Kodexempel
Nedan finns praktiska exempel på att extrahera text från bilder med Keras-OCR.
Exempel 1: Grundläggande textdetektering och igenkänning
Detta exempel visar hur man använder den förtränade pipelinen för att extrahera text från en bild:
Grundläggande OCR-pipeline
import keras_ocr
pipeline = keras_ocr.pipeline.Pipeline()
images = ["receipt.jpg"]
predictions = pipeline.recognize(images)
print(predictions)
Exempel 2: Batchbearbetning
Bearbeta flera bilder samtidigt för effektivitet:
Batchbearbetning
import keras_ocr
pipeline = keras_ocr.pipeline.Pipeline()
images = ["image1.jpg", "image2.jpg", "image3.jpg"]
batch_predictions = pipeline.recognize(images)
for prediction in batch_predictions:
print(prediction)
Exempel 3: Visualisering av avgränsningsrutor
Rita upptäckta textrutor på originalbilden:
Visualisera resultat
import matplotlib.pyplot as plt
import keras_ocr
pipeline = keras_ocr.pipeline.Pipeline()
image = keras_ocr.tools.read("document.jpg")
predictions = pipeline.recognize([image])
keras_ocr.tools.drawAnnotations(image, predictions[0])
plt.imshow(image)
plt.show()
Sammanfattning
Keras-OCR förenklar textextrahering med sin redo-använda pipeline, vilket gör det till ett utmärkt val för utvecklare som behöver snabb, exakt OCR utan komplex konfiguration. Dess integration med Keras och TensorFlow möjliggör anpassningar, medan batchbearbetning säkerställer skalbarhet.
Oavsett om du bygger dokumentskannrar, automatiserar datainmatning eller analyserar sociala medie-innehåll, erbjuder Keras-OCR en lättviktig men kraftfull lösning.