如何使用pytesseract从图像的特定坐标中提取文本?

吉努·约瑟夫(Jinu Joseph)

我有一幅图像,我需要从该图像中提取文本。我需要提取的文本来自指定的坐标位置。假设坐标= [ymin:ymax,xmin:xmax]。我尝试使用此坐标创建新图像并提取文本。但是由于新图像的质量低,因此精度非常低。因此,现在我正在研究如何在不创建新图像的情况下以坐标值提取文本。我正在使用OpenCv读取图像,并使用pytesseract提取文本。

import cv2
import pytesseract
import os
from PIL import Image
import sys
import numpy as np
# import textacy
config = ('-l eng --oem 2 --psm 1')

image = cv2.imread('C:/DocumentProcessing/IMAGE/2 (8).jpg')
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
cv2.imwrite('gray.jpg',gray)

_,thresh = cv2.threshold(gray,150,255,cv2.THRESH_BINARY_INV) # threshold
kernel = cv2.getStructuringElement(cv2.MORPH_CROSS,(3,3))
dilated = cv2.dilate(thresh,kernel,iterations = 30)

_,contours, hierarchy = cv2.findContours(dilated,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_NONE)
my_list = []
for contour in contours:
    [x,y,w,h] = cv2.boundingRect(contour)
    cv2.rectangle(image,(x,y),(x+w,y+h),(127.5,0,255),1)
    new_image = image[y:y+h, x:x+w]
    cv2.imwrite(f"contoured-{y}-{x}.jpg", new_image)
    result = pytesseract.image_to_string(new_image,config=config)

Tesseract 4.0.0 pytesseract 0.3.0 OpenCv 3.4.3

吉努·约瑟夫(Jinu Joseph)

您可以使用OPENCV绘制坐标,然后使用tesseract提取每个部分

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章