2015-08-24 24 views
6

Görüntü dosyalarını pytesseract kitaplığı kullanarak karakter konumunu almaya çalışıyorum.pytesseract'ta karakter konumunu alma

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

karakterin her pozisyon almak için herhangi bir kütüphane var

cevap

0

bir konuma sahip olmak iyi bir fikir gibi görünmüyor pytesseract kullanılması ancak bunu yapabilirsiniz:

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

pozisyonu karakter aşağıdaki gibi bulunabilir.

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) 

Bu yöntem kullanılırken bazı metinleri kaçırabilir. Daha iyi sonuçlar elde etmek için görüntünün bazı ön işlemlerini (örn. Arkaplan çıkarma) gerektirecektir.