代码之家  ›  专栏  ›  技术社区  ›  Maddy

如何在python中使用OCR获取图像重绘文本的坐标

  •  10
  • Maddy  · 技术社区  · 6 年前

    我正在尝试使用Tesseract从图像中获取文本字符的坐标或位置。 我想知道确切的像素位置,以便我可以使用其他工具单击该文本。

    编辑:

    import pytesseract
    from pytesseract import pytesseract
    import PIL
    from PIL import Image
    import cv2
    import csv
    
    img = 'E:\\OCR-DATA\\sample.jpg'
    imge = Image.open(img)
        data=pytesseract.image_to_string(imge,lang='eng',boxes=True,config='hocr')
    
    print(data)
    

    data 包含具有方框边界值的可识别文本。但我不知道如何利用这个边界值来获得文本的坐标。

    的值 数据 变量如下:

    O 100 356 115 373 0
    
    u 117 356 127 368 0
    
    t 130 356 138 372 0
    
    p 141 351 152 368 0
    
    u 154 356 164 368 0
    
    t 167 356 175 371 0
    
    2 回复  |  直到 6 年前
        1
  •  5
  •   Kumar S    4 年前

    您可以尝试以下操作:

    img = 'tes.jpg'
    imge = Image.open(img)
    data=pytesseract.image_to_boxes(imge)
    
    print(data)
    

    这将直接给出如下结果:

    T 22 58 52 97 0
    H 62 58 95 96 0
    R 102 58 135 97 0
    E 146 57 174 97 0
    A 184 57 216 96 0
    D 225 56 258 96 0
    
        2
  •  1
  •   DAB    2 年前

    在每一行中都有边界框的坐标。

    发件人: Training Tesseract – Make Box Files

    字符、左、下、右、上、页

    因此,对于每个字符,您将获得字符,后跟其边界框字符,然后是基于0的页码。