python Pytesseract问题检测点

kiz8lqtg  于 2023-02-21  发布在  Python
关注(0)|答案(1)|浏览(105)

我有以下照片:

我尝试从中提取文本,但在检测电子邮件中的dot时遇到问题!

In [1]: import cv2

In [2]: import pytesseract

In [3]: img = cv2.imread("images/10008.png")

In [4]: text = pytesseract.image_to_string(img,config='--psm 6')

In [5]: text
Out[5]: 'City: CALGARY\n\nProvince: AB\n\nCountry: CANADA\n\nCompany Name: Bonnyville Immigration Services Inc.\nEmail: sujit saha@live.com\n\nPhone Number: 403-805-0007\n'

In [6]:

但是我在网上试过site,如果我选择选项--〉Use OCR Engine5 (Especially strong with text on complex backgrounds/low contrast),它就能很容易地检测到这个点
是否有一种方法可以在pytesseract中复制相同的内容

vngu2lb8

vngu2lb81#

通过添加一些预处理并将lang=“eng”参数设置为tesseract,我成功地过滤了这个图像。

  • 转换为灰度
  • 调整图像的大小使其更宽
  • 通过锐化内核过滤
import cv2
import numpy as np
import imutils
import pytesseract
import matplotlib.pyplot as plt

img = cv2.imread("data.png", 0)
original = img.copy()

img = imutils.resize(img, width=800)

kernel = np.array([[0,-1,0],
                   [-1,5,-1],
                   [0,-1,0]])

img = cv2.filter2D(img, -1, kernel)

fig = plt.figure()
plt.imshow(img)
plt.axis("off")

text = pytesseract.image_to_string(img, lang="eng", config="--psm 6")

输出= 'City: CALGARY\n\nProvince: AB\n\nCountry: CANADA\n\nCompany Name: Bonnyville Immigration Services Inc.\nEmail: sujit.zaha@live.com\n\nPhone Number: 403-805-0007'

相关问题