当前位置: 首页 > 科技观察

教你玩【穿越大会】问答游戏

时间:2023-03-17 10:08:32 科技观察

这两天,攀爬大会等直播答题APP突然火了起来。不得不佩服互联网公司的想象力,那么程序员怎么用不同的方式来玩和答题呢?游戏呢?此前,微信小游戏火爆朋友圈,很多朋友都写了自动化脚本来辅助。他们一看到答题游戏,立刻想到可以用类似的方式写一个简单的脚本。发现有朋友已经调用了百度api,我再写一个直接使用识别库的。代码思路简单,可用于各种答题游戏。使用文字识别加搜索只能起到辅助决策的作用。可以参考结果提高准确率,但不能保证完全准确。具体代码、环境和使用方法请点击:https://github.com/Skyexu/TopSupHandyStar^^灵感来源:微信跳转帮程序员怎么玩《冲顶大会》?具体方法1.使用adb获取手机截图adbshel??lscreencap-p/sdcard/screenshot.pngadbpull/sdcard/screenshot.png.2.OCR识别主题和选项文本通过代码分别截取主题区和选项区,然后执行文字识别文字识别的两种方法:GoogleTesseract,安装软件是的,接下来主要用到这个方法,百度OCRlivc,需要注册百度API,每天调用次数有限制。从网页代码中提取搜索结果的个数3.只使用标题进行搜索,统计结果页代码中包含的选项的词频。以下是两个示例结果。可以看到下面两道题,两种方法的结果是不一样的。您可以根据问题类型做出不同的决定。参考IHackedHQTriviaButHere'sHowTheyCanStopMe主要代码验证思路,主要代码实现截图、识别、调用浏览器搜索。其实很简单。具体可以参考我github库中的简单版本代码defpull_screenshot():os.system('adbshel??lscreencap-p/sdcard/screenshot.png')os.system('adbpull/sdcard/screenshot.png.')pull_screenshot()img=Image.open("./screenshot.png")#切题位置,左上角和右下角坐标,自测解析question=img.crop((50,350,1000,560))#Nutspro1choices=img.crop((75,535,990,1150))#region=img.crop((75,315,1167,789))#iPhone7P#tesseractpathpytesseract.pytesseract.tesseract_cmd='C:\\ProgramFiles(x86)\\Tesseract-OCR\\tesseract'#语言包目录tessdata_dir_config='--tessdata-dir"C:\\ProgramFiles(x86)\\Tesseract-OCR\\tessdata"'#lang指定中文简体=pytesseract.image_to_string(question,,config=tessdata_dir_config)text=text.replace("\n","")[2:]print(text)webbrowser.open('https://baidu.com/s?wd='+text)summarywriting想了想还是简单版的,怕不是conven比如Hi和Siri,还好识别准确,查询也快。后来又增加了几种辅助决策的方法。文字识别加搜索在这类游戏中是做不到完全正确的。想要完全正确,可能还是要夺袋子吧?或者存储题库,但是这样太费时间了。有了ADB截图,恐怕各种小助手都能玩转,大家可以发挥自己的想象力了。Python非常适合编写小脚本。接下来可以尝试nlp在文本识别后处理关系,然后搜索不同的选择结果来增加准确率等等。不玩了,我要写卷子了。