如何从图像中提取文本并在提取的文本周围绘制边框

问题描述 投票:0回答:1

Image

我正在尝试使用 OCR 从图像中提取文本。我面临的挑战是如何映射键和值。例如,键 - Last Name 应具有值 XYZ。获取键值对后,我需要在识别的键值文本周围绘制一个边界框。

python image-processing ocr
1个回答
0
投票

执行此操作的一种方法如下。

您可以使用 pytesseract 和方法

pytesseract.image_to_data(image, config, output_type="data_frame")
来获取边界框的位置。

这将返回一个数据帧,其中包含每个检测到的单词的位置。然后,您可以按位置对它们进行分组以关联键和值。

然后你可以做这样的事情:

import pytesseract
from pytesseract import Output
import cv2
img = cv2.imread('image.jpg')

df = pytesseract.image_to_data(img, output_type="data_frame")
n_boxes = len(df['text'])
for i in range(n_boxes):
    (x, y, w, h) = (df['left'][i], df['top'][i], df['width'][i], df['height'][i])
    cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)

cv2.imshow('img', img)
cv2.waitKey(0)
© www.soinside.com 2019 - 2024. All rights reserved.