6

Ich versuche, Zeichenposition von Bilddateien mit Hilfe von Pytasseract Bibliothek zu bekommen.Wie bekomme ich Zeichenposition in Pytasseract

import pytesseract 
from PIL import Image 
print pytesseract.image_to_string(Image.open('5.png')) 

Gibt es eine Bibliothek für jede Position des Charakters immer

Antwort

0

Mit pytesseract scheint nicht die beste Idee, die Position zu haben, aber Sie können dies tun:

from pytesseract import pytesseract 
pytesseract.run_tesseract('image.png', 'output', lang=None, boxes=False, config="hocr") 
0

Die Position Das Zeichen kann wie folgt gefunden werden.

import csv 
import cv2 
from pytesseract import pytesseract as pt 

pt.run_tesseract('bw.png', 'output', lang=None, boxes=True, config="hocr") 

# To read the coordinates 
boxes = [] 
with open('output.box', 'rb') as f: 
    reader = csv.reader(f, delimiter = ' ') 
    for row in reader: 
     if(len(row)==6): 
      boxes.append(row) 

# Draw the bounding box 
img = cv2.imread('bw.png') 
h, w, _ = img.shape 
for b in boxes: 
    img = cv2.rectangle(img,(int(b[1]),h-int(b[2])),(int(b[3]),h-int(b[4])),(255,0,0),2) 

cv2.imshow('output',img) 

Während dieser Methode kann man einige Texte verpassen. Es würde etwas Vorverarbeitung (nämlich Hintergrundsubtraktion) des Bildes erfordern, um bessere Ergebnisse zu erhalten.