def TryTencent(): hWin = win32gui.FindWindow("TXGuiFoundation", "腾讯手游助手【标准引擎】") if hWin: #t1 = time.clock() print("搜索到腾讯模拟器......") l, t, r, b = win32gui.GetWindowRect(hWin) img = ImageGrab.grab((l, t, r, b)) #img = img.crop((l,t,r,b)) #img.save('C:\\Users\\44780\\Desktop\\t.png', 'png') #t2 = time.clock() #print("截取模拟器截图耗时:", t2-t1) imgList = TryAnalyseImgCD(img) if (imgList is None or len(imgList) < 2): print("没有到答题时间或者查不到关键像素") return #t3 = time.clock() #print("图片裁剪耗时:", t3-t2) question, choices = ocr.ocr_img(imgList) print('Question: ' + question) if ('不是' in question) or ('不属于' in question) or ( '不包含' in question) or ('不可能' in question): print('*****请注意此题为否定题*****') #t4 = time.clock() #print("图片识别耗时:", t4-t3) # 将问题与选项一起搜索方法,并获取搜索到的结果数目 m0 = Thread(methods.run_algorithm(0, question, choices)) m1 = Thread(methods.run_algorithm(1, question, choices)) # 用选项在问题页面中计数出现词频方法 m2 = Thread(methods.run_algorithm(2, question, choices)) m0.start() m1.start() m2.start()
def mousedown(event): global end_x, end_y, ctrlflag if ctrlflag == 1: end_x, end_y = event.Position print(Fore.RED + str(end_x) + ',' + str(end_y) + Fore.RESET) if start_x < end_x and start_y < end_y: image = ImageGrab.grab((start_x, start_y, end_x, end_y)) image.save('./screenshot.png', format='PNG') # image = Image.open("../screenshot.png") question, choices = ocr.ocr_img_baidu(image, config) print(choices) methods.run_algorithm(2, question, choices) ctrlflag = 0 else: print(Fore.RED + '请换一种姿势重新选择' + Fore.RESET) ctrlflag = 0 return True else: print('未激活截图模式!') return True
def game_fun(image_cut): while True: pull_screenshot() #截图参数 image_cut() q_filePath = "question.png" c_filePath = "choices.png" question = question_words(q_filePath, options) choices = choices_words(c_filePath, options) #count_base(question, choices) # 多线程 m1 = Thread(methods.run_algorithm(0, question, choices)) m2 = Thread(methods.run_algorithm(1, question, choices)) m3 = Thread(methods.run_algorithm(2, question, choices)) m1.start() m2.start() m3.start() print('——————————————————————————') go = input('输入回车继续运行,输入 n 回车结束运行: ') if go == 'n': break
img = Image.open("./screenshot.png") # 文字识别 question, choices = ocr.ocr_img(img) # t = time.clock() # 用不同方法输出结果,取消某个方法在前面加上# # # 打开浏览器方法搜索问题 # methods.run_algorithm(0, question, choices) # # 将问题与选项一起搜索方法,并获取搜索到的结果数目 # methods.run_algorithm(1, question, choices) # # 用选项在问题页面中计数出现词频方法 # methods.run_algorithm(2, question, choices) # 多线程 m1 = Thread(methods.run_algorithm(0, question, choices)) m2 = Thread(methods.run_algorithm(1, question, choices)) m3 = Thread(methods.run_algorithm(2, question, choices)) m1.start() m2.start() m3.start() # end_time = time.clock() # print(end_time - t) go = input('输入回车继续运行,输入 n 回车结束运行: ') if go == 'n': break print('------------------------')
import wda from PIL import Image from common import ocr, methods c = wda.Client() while True: # 截图 c.screenshot('screenshot.png') img = Image.open("./screenshot.png") # 文字识别 question, choices = ocr.ocr_img(img) # 用不同方法输出结果,取消某个方法在前面加上# # 打开浏览器方法搜索问题 methods.run_algorithm(0, question, choices) # 将问题与选项一起搜索方法,并获取搜索到的结果数目 methods.run_algorithm(1, question, choices) # 用选项在问题页面中计数出现词频方法 methods.run_algorithm(2, question, choices) go = input('输入回车继续运行,输入 n 回车结束运行: ') if go == 'n': break print('------------------------')
img = Image.open("./screenshot.png") # 文字识别,可选 Tesseract 和 Baidu ,请在 config/configure.conf 中进行相应配置 # ocr_img: 需要分别截取题目和选项区域,使用 Tesseract # ocr_img_tess: 题目和选项一起截,使用 Tesseract # ocr_img_baidu: 题目和选项一起截,使用 baidu ocr,需配置 key # question, choices = ocr.ocr_img(img, config) question, choices = ocr.ocr_img_tess(img, config) # question, choices = ocr.ocr_img_baidu(img, config) # 用不同方法输出结果,取消某个方法在前面加上# # 打开浏览器方法搜索问题 methods.run_algorithm(0, question, choices) # 将问题与选项一起搜索方法,并获取搜索到的结果数目 methods.run_algorithm(1, question, choices) # 用选项在问题页面中计数出现词频方法 methods.run_algorithm(2, question, choices) end_time3 = time.clock() print('用时: {0}'.format(end_time3 - t)) go = input('输入回车继续运行,输入 n 回车结束运行: ') if go == 'n': break print('------------------------')
question, choices = ocr.ocr_img(img) # t = time.clock() # 用不同方法输出结果,取消某个方法在前面加上# # # 打开浏览器方法搜索问题 # methods.run_algorithm(0, question, choices) # # 将问题与选项一起搜索方法,并获取搜索到的结果数目 # methods.run_algorithm(1, question, choices) # # 用选项在问题页面中计数出现词频方法 # methods.run_algorithm(2, question, choices) question = '游的最慢的鱼是哪个' choices = ['鲸鱼', '旗鱼', '企鹅'] print(question) print(choices) # 多线程 # m1 = Thread(methods.run_algorithm(0, question, choices)) m2 = Thread(methods.run_algorithm(1, question, choices)) m3 = Thread(methods.run_algorithm(2, question, choices)) # m1.start() m2.start() m3.start() # end_time = time.clock() # print(end_time - t) go = input('输入回车继续运行,输入 n 回车结束运行: ') if go == 'n': break print('------------------------')
choices_img = Image.open("./choices_screenshot.png") # 文字识别 question, choices = ocr.ocr_img(question_img, choices_img) print("问题%s \n选择:%s"%(question, choices)) # 用不同方法输出结果,取消某个方法在前面加上# # 打开浏览器方法搜索问题 # methods.run_algorithm(0, question, choices) # # 将问题与选项一起搜索方法,并获取搜索到的结果数目 # methods.run_algorithm(1, question, choices) # # 用选项在问题页面中计数出现词频方法 # methods.run_algorithm(2, question, choices) Thread(methods.run_algorithm(0, question, choices)).start() Thread(methods.run_algorithm(1, question, choices)).start() Thread(methods.run_algorithm(2, question, choices)).start() # m1.start() # m2.start() # m3.start() go = input('输入回车继续运行,输入 n 回车结束运行: ') if go == 'n': break print('------------------------') # isTrue = False