【问题标题】:Pytesseract does not extract text from low-quality imagePytesseract 不会从低质量图像中提取文本
【发布时间】:2019-06-06 10:00:43
【问题描述】:

我想从图片中提取文字:

image

我尝试使用以下代码提取文本:

from PIL import Image
import pytesseract
img = "Offers.png"
tex = pytesseract.image_to_string(Image.open(img))
string = pytesseract.image_to_string(Image.open(img), config='--psm 6')

我无法提取文本。 tex 变量返回一个空字符串,而string 变量返回一行文本。

如何从小册子图片中提取完整的文本?

编辑 1:

由于之前提供的图片质量较低,我现在从谷歌图片中提供一些质量相对较好的随机图片。

new image 2

new image 3

现在,当我尝试实现上面相同的代码来提取文本时,我再次无法提取完整的文本。

编辑 2:

img = cv2.imread('sale-banner-template-design_74379-121.jpg',0)
thesh, im_bw = cv2.threshold(img, 0, 255, cv2.THRESH_BINARY+cv2.THRESH_OTSU)

up_image = cv2.resize(img,None,fx=2,fy=3,interpolation=cv2.INTER_LINEAR)

t = pytesseract.image_to_string(up_image)

【问题讨论】:

  • 这是您试图从中获取文本的原始图像吗?该图像质量非常低。
  • 是的,这是图片
  • 图片真的很小,我怀疑你能从那个版本中提取文本。更高分辨率的版本应该没有问题。
  • @bracco23 我现在添加了两张质量合理的新图片。再一次,我无法提取小册子图像中的整个文本。
  • 我遇到了同样的问题。我最终在新图像中剪切了我想要识别的特定部分,然后它就可以工作了。我尝试了 easyOCR,它将更适合您的情况。

标签: python tesseract python-tesseract


【解决方案1】:

去除颜色、不必要的输入和放大图像尺寸。这有助于进行大量的 tesseract。您可以使用 PIL 及其各种模块完成所有这些操作

【讨论】:

  • 我已经用opencv完成了上面的预处理,但是输出还是一样的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-11
  • 1970-01-01
  • 2018-08-09
  • 1970-01-01
相关资源
最近更新 更多