从python中的特定图像块读取文本

时间:2020-11-11 09:57:38

标签: python django image-processing python-tesseract

是否可以从特定的固定位置读取图像中的文本?

def read_image_data(request):
    import cv2
    import pytesseract
    pytesseract.pytesseract.tesseract_cmd = "C:/Program Files/Tesseract-OCR/tesseract.exe"
    img = cv2.imread("workcenter_dash.png")
    text = pytesseract.image_to_string(img)
    print(text)

在上面的示例中,我使用“ pytesseract”读取了图像文本,该文本可以很好地读取文本,但是在我的情况下,我想从特定位置读取文本。

enter image description here

例如:在上图中,我只想从带有红色矩形的选定位置读取文本。

因此,请为此提供最佳解决方案。 预先感谢。

1 个答案:

答案 0 :(得分:0)

我通过裁剪图像然后读取数据后解决了这个问题。

它为我工作,对此问题有更好的解决方案,请提出建议。

def read_image_data(request):
    import cv2
    import pytesseract
    pytesseract.pytesseract.tesseract_cmd = "C:/Program Files/Tesseract-OCR/tesseract.exe"
    img = cv2.imread("workcenter_dash.png")
    
    height, width = img.shape[0:2]
    startRow = int(height * 0.10)
    startCol = int(width * 0.10)
    endRow = int(height * 0.90)
    endCol = int(width * 0.40)

    croppedImage = img[startRow:endRow, startCol:endCol]
    text = pytesseract.image_to_string(croppedImage)
    print(text)