当前位置: 首页 > 知识库问答 >
问题:

如何使用Tesseract[closed]获取图像文本

戈念
2023-03-14

在预处理之后,这就是我如何将它发送到Tesseract OCR

text = pytesseract.image_to_string(img, lang='eng')

但是OCR'ed文本是空的。

编辑:

pages = convert_from_path("../data/2.pdf", fmt='JPEG',
                          poppler_path=r"D:\poppler-0.68.0\bin")

reader = easyocr.Reader(['en']) # need to run only once to load model into memory
for page in pages:

      page.save('image.jpg', 'JPEG')
      image = cv2.imread('image.jpg')
        
      img = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
      img = img[cord[2]:cord[3], cord[0]:cord[1]]
      kernel = np.array([[-1,-1,-1], [-1,9,-1], [-1,-1,-1]])
      img = cv2.filter2D(img, -1, kernel)
      img = cv2.medianBlur(img, 3)
      text = pytesseract.image_to_string(img)

此图像是PDF的一部分。将PDF转换为jpg,然后再次加载,然后通过给出BB坐标来裁剪此部分。

但是它打印的OCR'ed文本输出仍然关闭:

AQ@O FCI

共有1个答案

罗绪
2023-03-14

我有一个两步的解决方案

    1. 应用扩张,然后进行侵蚀(关闭)

现在我们为什么要先扩张后侵蚀呢?

人工制品减少了,但没有完全消失。因此,如果我们应用自适应阈值,结果将是:

现在图像适合阅读:

AOF CIF

代码

import cv2
from pytesseract import image_to_string

img = cv2.imread("7UGLJ.png")
gry = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
(h, w) = gry.shape[:2]
gry = cv2.resize(gry, (w*2, h*2))
cls = cv2.morphologyEx(gry, cv2.MORPH_CLOSE, None)
thr = cv2.adaptiveThreshold(cls, 255, cv2.ADAPTIVE_THRESH_MEAN_C,
                            cv2.THRESH_BINARY, 41, 10)
txt = image_to_string(thr)
print(txt)
 类似资料:
  • 我想提取只有蓝色文本图像uisng tesseract ocr.请帮助我关于这一点。 我试过的基本代码: 导入PIL. Image导入cv导入pytesseract, remy_image=PIL. Image.open(r"C:\User\sony\Desktop\Cap_sample\MicrosoftTeams-Image(4). png")pytesseract.pytesseract.t

  • 我有一个Employee类,如下所示 我正在尝试使用MethodReference获得如下所示的工资 知道如何只使用MethodReference获得工资吗 现在在toString看到一个问题

  • 问题内容: 我是Android开发的新手,正在使用JSON解析方法解析数据,使用List Fragment扩展了类,并且希望将数据显示在列表视图中,但是问题是除图像外,我获取的所有数据都非常完美,我没有不知道该怎么解决,我的回答是这样的 问题答案: 尝试使用自定义适配器的AndroidQuery: 如何将适配器设置为ListView:

  • 问题内容: 如何使用PIL检测PNG图像是否具有透明的Alpha通道? 通过上面的代码,我们知道PNG图像是否不具有Alpha通道,但是如何获得Alpha值? 我没有在PIL网站上描述的img.info词典中找到“透明”键 我正在使用Ubuntu和zlib1g,已经安装了zlibc软件包。 问题答案: 要获取RGBA图像的alpha层,您需要做的是: 要么 有一种设置Alpha层的方法: 透明度键

  • 问题内容: 有没有什么办法让仅与扩展的图像,,等同时使用 问题答案: 您可以使用 如果您不要求区分大小写,则可以将a 与a组合使用, 或 将结果传递给to,并使用回调过滤所有不需要的扩展名。是否使用,还是获取扩展名取决于您。

  • 我正在使用这段代码,但它会返回带有url的图像名称 结果: 我只想把src的名字吐给我,我该怎么做?