Пример #1
0
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()
Пример #2
0
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
Пример #3
0
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('------------------------')
Пример #5
0
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('------------------------')
Пример #6
0
    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('------------------------')
Пример #7
0
    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('------------------------')
Пример #8
0
    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