首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在pytesseract中获取字符位置

如何在pytesseract中获取字符位置
EN

Stack Overflow用户
提问于 2015-08-24 13:31:26
回答 4查看 10.6K关注 0票数 8

我正在尝试使用pytesseract库获取图像文件的字符位置。

代码语言:javascript
复制
import pytesseract
from PIL import Image
print pytesseract.image_to_string(Image.open('5.png'))

有没有库来获取字符的每个位置?

EN

回答 4

Stack Overflow用户

发布于 2020-10-12 10:10:34

您尝试过使用pytesseract.image_to_data()吗?

代码语言:javascript
复制
data = pytesseract.image_to_data(img, output_type='dict')
boxes = len(data['level'])
for i in range(boxes ):
    (x, y, w, h) = (data['left'][i], data['top'][i], data['width'][i], data['height'][i])
    #Draw box        
    cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)
票数 2
EN

Stack Overflow用户

发布于 2017-06-06 21:54:27

使用pytesseract似乎不是拥有这个位置的最佳想法,但你可以这样做:

代码语言:javascript
复制
from pytesseract import pytesseract
pytesseract.run_tesseract('image.png', 'output', lang=None, boxes=False, config="hocr")
票数 1
EN

Stack Overflow用户

发布于 2021-06-05 22:13:00

您可以使用下面的脚本将每个字符保存为图像,此脚本适用于python 3.6+

代码语言:javascript
复制
import cv2
import pytesseract 
import numpy
import time
from PIL import ImageGrab

path_to_save = "img_out/"
img = cv2.imread("image_INAUTXQ_www.facebook.com.png")
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

hImg, wImg,_ = img.shape
boxes = pytesseract.image_to_boxes(img)
ROI_number=0
for b in boxes.splitlines():
    b = b.split(' ')
    x, y, w, h = int(b[1]), int(b[2]), int(b[3]), int(b[4])
    # cv2.rectangle(img, (x,hImg- y), (w,hImg- h), (50, 50, 255), 1)
    x1,y1=hImg-h,hImg-y
    x2,y2=x,w
    roi=img[x1:y1,x2:y2]
    output = cv2.resize(roi,(300,300))
    # cv2.imshow('roi', roi)
    # cv2.imshow('img',img)
    # cv2.waitKey(0)
    cv2.imwrite("test"+str(ROI_number)+".jpeg",output)
    ROI_number+=1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32175014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档