OpenCV和Tesseract在蒙版图像时不检测文本,而在显示整个图像时检测文本

时间:2019-04-13 17:11:12

标签: python python-3.x

我正在制作一个Python脚本,该脚本从分析屏幕快照中提取文本。我确定了图像上需要的文本,并使用OpenCV制作了蒙版。我检查了一下,知道那是唯一的文字。当我尝试使用Tesseract来检测文本时,没有任何输出。当我在整个图像上检测到文字时,会得到所有文字,包括所需的数字(我遮盖的数字)。

我尝试对图像进行更多的图像处理,例如锐化,模糊,卡尼边缘检测,但似乎无济于事。

导入图像:

b_y

找到我需要的电话号码

def import_image(path_name):
    #read image
    img = cv2.imread(path_name)
    #convert to gray
    img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    kernel = np.array([[-1,-1,-1], [-1,9,-1], [-1,-1,-1]])
    img = cv2.filter2D(img, -1, kernel)
    #return processed image
    return img

我希望得到数字4,但我什么也没有得到:

def shares_function(image):
    shares = np.array([
        [(640, 647), (730, 647), (730, 689), (640, 689)]
        ])
    mask = np.zeros_like(image)
    cv2.fillPoly(mask, shares, 255)
    masked_image = cv2.bitwise_and(image, mask)
    image_text = pytesseract.image_to_string(masked_image)
    image_text.replace(",", "")
    return image_text

我得到的一切都包括4。 谢谢。

0 个答案:

没有答案