使用pytesseract检测Bangla字符

时间:2017-03-26 20:23:59

标签: python python-tesseract

我正在尝试使用python从图像中检测bangla字符,因此我决定使用 pytesseract 。为此,我使用了以下代码:

import pytesseract
from PIL import Image, ImageEnhance, ImageFilter

im = Image.open("input.png") # the second one
im = im.filter(ImageFilter.MedianFilter())
enhancer = ImageEnhance.Contrast(im)
im = enhancer.enhance(2)
im = im.convert('1')
im.save('temp2.png')
pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract'
text = pytesseract.image_to_string(Image.open('temp2.png'),lang="ben")
print text
问题是,如果我给出的英文字符图像是检测到的。但是当我写lang="ben"并从bengali字符的图像中检测到时,我的代码正在无休止地运行或者像永远一样。

P.S:我已将bengali语言列车数据下载到tessdata文件夹,我正在尝试在 PyCharm 中运行它。

任何人都可以帮我解决这个问题吗?

sample of input.png

2 个答案:

答案 0 :(得分:1)

我在Windows中添加了Bangla(india)语言。已下载ben.traineddataTESSDATA_PREFIX,等于我的电脑中的C:\Program Files\Tesseract 4.0.0\tessdata。然后跑,

> tesseract -l ben bangla.jpg bangla_out

在命令提示符下,在2秒内得到结果。结果看起来很好,即使我不懂语言。

enter image description here

您是否尝试在命令提示符下运行tesseract以验证它是否适用于-l ben

  

修改

     

使用 Spyder ,类似于PyCharm,它与Anaconda一起测试   它。修改了您的代码以调用Tesseract,如下所示。

pytesseract.pytesseract.tesseract_cmd = "C:/Program Files/Tesseract 4.0.0/tesseract.exe"
     

Spyder中的测试代码:

import pytesseract
from PIL import Image, ImageEnhance, ImageFilter
import os

im = Image.open("bangla.jpg") # the second one
im = im.filter(ImageFilter.MedianFilter())
enhancer = ImageEnhance.Contrast(im)
im = enhancer.enhance(2)
im = im.convert('1')
im.save("bangla_pp.jpg")

pytesseract.pytesseract.tesseract_cmd = "C:/Program Files/Tesseract 4.0.0/tesseract.exe"
text = pytesseract.image_to_string(Image.open("bangla_pp.jpg"),lang="ben")
print text
     

它在处理后的图像上工作并生成下面的结果。显然,处理后图像的OCR结果不如原始结果好。

     

处理过的bangla_pp.jpg的结果:

   প্রত্যাবর্তনকারীরা
   তাঁদের দেশে গিয়ে

   -~~-<~~~~--

   প্রত্যাবর্তন-পরবর্তী
   আর্থিক সহায়তা
    = পাবেন তার
     

原始图像的结果,直接输入Tesseract。

     

代码:

from PIL import Image    
import pytesseract as tess

print tess.image_to_string(Image.open('bangla.jpg'), lang='ben')
     

输出:

প্রত্যাবর্তনকারীরা
তাঁদের দেশে গিয়ে

প্রত্যাবর্তন-পরবর্তী
আর্থিক সহায়তা
পাবেন তার

答案 1 :(得分:0)

我从这里在 windows 中安装了一些字体

https://www.omicronlab.com/bangla-fonts.html

在那之后,它在 Pycharm 中对我来说非常好。