繁体   English   中英

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

[英]How to use pytesseract to extract text from specific cordinates from image?

我有一张图片,我需要从该图片中提取文本。 我需要提取的文本来自指定的坐标位置。 假设坐标=[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)

正方体 4.0.0 pytesseract 0.3.0 OpenCv 3.4.3

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM