我正在制作一个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。 谢谢。