def is_text_on_screen(target, notify=True):
if notify:
_notify("starting is_text_on_screen")
if isinstance(target, str):
target = target.decode('utf-8')
#GET SCREENSHOT
path_to_screenshot = take_a_screenshot()
sleep(1)
#FIND TEXTS
im = cv2.imread(path_to_screenshot)
im = cv2.resize(im, (0,0), fx=2, fy=2)
imgray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
#ret,thresh = cv2.threshold(imgray,127,255,0)
ret,thresh = cv2.threshold(imgray,127,255,cv2.THRESH_BINARY)
contours, hierarchy = find_contours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
for index, contour in enumerate(contours):
b = Box(cv2.boundingRect(contour))
if b.width > 10 and b.height > 6:
cropped = im[b.ymin:b.ymax, b.xmin:b.xmax]
text = image_to_string(Image.fromarray(cropped))
print("text:", text)
if target in text.decode("utf-8"):
return True
return False
评论列表
文章目录