【问题标题】:Bounding boxes around characters for tesseract 4.0.0-beta.1tesseract 4.0.0-beta.1 字符周围的边界框
【发布时间】:2019-11-23 18:22:00
【问题描述】:

我正在尝试使用 tesseract 4.0.0-beta.1 进行车牌识别。在 tesseract 文档中,它被告知以 .我尝试使用“makebox”功能。但是,它并没有正确检测到每个字符。然后,在某处我读到此功能适用于 3.x 版。

我后来尝试了“wordstrbox”功能。但是这样创建的box文件是空的。谁能告诉我如何为 tesseract 4.0.0-beta.1 创建盒子文件。

【问题讨论】:

    标签: ocr tesseract python-tesseract


    【解决方案1】:

    我发现 AlfyFaisy 的回答非常有帮助,只想分享代码以查看单个字符的边界框。区别在于image_to_boxes方法输出的字典的键:

    import pytesseract
    import cv2
    from pytesseract import Output
    
    img = cv2.imread('image.png')
    height = img.shape[0]
    width = img.shape[1]
    
    d = pytesseract.image_to_boxes(img, output_type=Output.DICT)
    n_boxes = len(d['char'])
    for i in range(n_boxes):
        (text,x1,y2,x2,y1) = (d['char'][i],d['left'][i],d['top'][i],d['right'][i],d['bottom'][i])
        cv2.rectangle(img, (x1,height-y1), (x2,height-y2) , (0,255,0), 2)
    cv2.imshow('img',img)
    cv2.waitKey(0)
    

    至少在我的机器(Python 3.6.8,cv2 4.1.0)上,cv2 方法是waitKey(0),带有大写字母K。

    这是我得到的输出:

    【讨论】:

      【解决方案2】:

      使用pytesseract.image_to_data()

      import pytesseract
      import cv2
      from pytesseract import Output
      
      img = cv2.imread('image.jpg')
      d = pytesseract.image_to_data(img, output_type=Output.DICT)
      n_boxes = len(d['level'])
      for i in range(n_boxes):
          (text,x,y,w,h) = (d['text'][i],d['left'][i],d['top'][i],d['width'][i],d['height'][i])
          cv2.rectangle(img, (x,y), (x+w,y+h) , (0,255,0), 2)
      cv2.imshow('img',img)
      cv2.waitkey(0)
      

      在pytesseract.image_to_data()返回的数据中:

      • left 是离边界框左上角的距离, 到图片的左边框。
      • top 是离边界框左上角的距离, 到图片的上边框。
      • widthheight 是边界框的宽度和高度。
      • conf 是模型对其中单词预测的置信度 那个边界框。如果conf 为-1,则表示对应的 边界框包含一个文本块,而不仅仅是一个 字。

      pytesseract.image_to_boxes() 返回的边界框包含字母,所以我相信pytesseract.image_to_data() 就是您要查找的内容。

      【讨论】:

        猜你喜欢
        • 2013-03-25
        • 1970-01-01
        • 2012-08-23
        • 2016-11-20
        • 2013-02-20
        • 2016-04-18
        • 2021-12-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多