2017-12-08 2 views
0

Wir schneiden das Pan-Karte Bild durch Erhöhung der Höhe um 20px für jede Iteration und dann übergeben wir dieses Bild zu Tesseract zu Do ocr aber wir bekommen Lärm mit output.wenn Sie bessere Lösung auf Bildverarbeitung oder andere Bibliotheken wie cv2 dann bitte helfen Sie uns.wir tun pan OCR, mit tesseract aber ist nicht in der Lage, die Details wie Name und Pan-Nummer

import pytesseract 
from PIL import Image, ImageEnhance, ImageFilter 

im = Image.open("image/testpan.jpg") 
width = im.size[0] 
height = im.size[1] 
print('width,height-->',width,height) 

yy='img' 
zz='.jpg' 

x=0 
for j in range(x,height): 
    img2 = im.crop((0, x, width/2,x+70)) 
    img2.save(yy+str(j)+zz) 

    img = Image.open(yy+str(j)+zz) 
    # img = img.convert("L") 
    img.save(yy + str(j) + zz) 
    text = pytesseract.image_to_string(Image.open(yy+str(j)+zz)) 
    print('IIIII',j, text) 

    x=x+20 
    j=x 
    if j>height: 
     break 

original image

+0

Zunächst einmal grau, erhalten Sie Ihren Code zuerst die Region von Interesse zu identifizieren. Dann sehen Sie, wie Ihre Interessensgebiete aussehen und wie testeract es interpretieren. Es ist schwer, einen solchen Vorschlag zu geben. – lamandy

+0

Es wäre hilfreich, wenn Sie das beschnittene Bild und das entsprechende OCR-Ergebnis bereitstellen können. – lamandy

+0

danke lamandy für Ihre Antwort, wie man die Region interst –

Antwort

1

Ist das OK?

  1. convert
  2. threshold
  3. findContours
  4. boundingRect

enter image description here

+0

Kannst du uns bitte sagen, wie man das macht? –

+0

@AlkeshMahajan https://stackoverflow.com/questions/47707200/how-to-improve-the-accuracy-to-get-those-separate-box?noredirect=1#comment82377263_47707200 Sie zwei tun OCR mit tesxxx, und ich einfach Erkenne den ROI, ich weiß nur nicht, ob es für tesxxx hilft. – Silencer

+0

Danke, wir werden es versuchen. –