前两天在博客园看到 .NET开发一个微信跳一跳辅助程序, 原来可以通过C#连接手机操作。正好朋友圈有人分享“冲顶大会”。冲顶大会是一个在线答题APP。每次12道题,每道题有10秒钟的答题时间,全对者瓜分1万或10万奖金。于是试着答了一次,大部分题目都不算难,即便不知道但通过关键词搜索应该也很容易找到答案的。但限制是只有10秒钟答题时间,基本来不及输入问题。于是试着写了一个答题的辅助工具,基本思路是通过adb手机截图,然后用百度图像识别开发包识别问题,再自动搜索。

截图

参考中国.NET研究协会.NET开发一个微信跳一跳辅助程序的代码。adb截图命令如下:

adb shell /system/bin/screencap -p /sdcard/screenshot.png(保存到SDCard) adb pull /sdcard/screenshot.png d:/screenshot.png(保存到电脑)


附adb驱动下载地址:

http://adbdriver.com/downloads/

adb shell下载地址:

http://adbshell.com/downloads

图像识别

注册百度AI开发平台

在NuGet中搜索 Baidu.AI并安装.代码很简单:

// 设置APPID/AK/SK
var APP_ID = "你的 App ID";
var API_KEY = "你的 Api Key";
var SECRET_KEY = "你的 Secret Key"; var client = new Baidu.Aip.Ocr.Ocr(API_KEY, SECRET_KEY); public void GeneralBasicDemo() {
var image = File.ReadAllBytes("图片文件路径");
// 调用通用文字识别, 图片参数为本地图片,可能会抛出网络等异常,请使用try/catch捕获
var result = client.GeneralBasic(image);
Console.WriteLine(result);
// 如果有可选参数
var options = new Dictionary<string, object>{
{"language_type", "CHN_ENG"},
{"detect_direction", "true"},
{"detect_language", "true"},
{"probability", "true"}
};
// 带参数调用通用文字识别, 图片参数为本地图片
result = client.GeneralBasic(image, options);
Console.WriteLine(result);
}

参考http://ai.baidu.com/docs#/OCR-Csharp-SDK/top

搜索

里面的题目更多都中国“内事”,所以选择用百度搜索。但百度搜索好像没哟接口提供,所以使用直接打开网页http://www.baidu.com/s?wd=关键字&cl=3的方式。

最好附上效果图

和代码:https://gitee.com/roytec/BaiduOCRDemo

注:本文仅限学习adb,Baidu OCR和交流之用。目前还有许多局限性,比如从截图到识别再到搜索大概需要4,5秒的时间,还需要快速在网页上辨别答案,剩下供选择的时间几乎很少。另外有些答案直接搜索是没法搜到的,比如“下面那些景点不在北京?”

C#实现冲顶大会辅助工具(截图+图像识别+搜索)的更多相关文章

  1. C#实现冲顶大会辅助工具 (截图+图像识别+搜索)

    前两天在博客园看到 .NET开发一个微信跳一跳辅助程序, 原来可以通过C#连接手机操作.正好朋友圈有人分享"冲顶大会".冲顶大会是一个在线答题APP.每次12道题,每道题有10秒钟 ...

  2. 聊聊C#与冲顶大会

    一.由跳一跳开始 2018年初,跳一跳小程序着实火了一把.一时间,各种攻略,甚至辅助工具也应运而生.作为.net阵营的一员,园友的这篇http://www.cnblogs.com/bqh10086/p ...

  3. 对"QQGame-大家来找茬"的辅助工具的改进

    [前言]最近在博客园首页上看到有“大家来找茬”这个游戏(此游戏为找出两个相近图片的不同点)外挂的相关帖子,所以这里我也翻看了我之前(2009年5月)的写的一个简单的辅助程序(采用 VC6 开发的).我 ...

  4. 视听说加速器--AHK辅助工具

    大学有视听说这门课,看起来这门课设计得非好,可是对大多数人来讲却不能按时完成.到了最后都要抓紧提速,上网找答案,辛苦的抄,有“聪明者”便找加速器来做. 我也是赶着做的人之一.抄答案太累,加速器太卡,还 ...

  5. UnDistracted for Mac(集中注意力辅助工具)破解版安装

    1.软件简介    UnDistracted 是 macOS 系统上一款可以帮助我们集中注意力的辅助工具,让我们在 mac 电脑上工作更加集中注意力,提高工作效率,隐藏所有文件或是文件夹窗口.隐藏所有 ...

  6. TT企业微信社群辅助,企业微信社群辅助工具,允许批量添加好友,自动同意添加请求,自动回复消息

    TT企业微信社群辅助,企业微信社群辅助工具,允许批量添加好友,自动同意添加请求,自动回复消息 界面截图 TT企业微信社群辅助工具下载 链接: https://pan.baidu.com/s/1Y2An ...

  7. 分享一个LiteDB做的简单考试系统辅助工具

    凌晨,被安排在公司值班,因为台风“灿鸿”即将登陆,风力太大,办公楼,车间等重要部分需要关注.所以无聊,那就分享一下,今天给朋友临时做的一个小的考试系统辅助工具吧.其实非常小,需求也很简单,但是可以根据 ...

  8. 类型转换辅助工具类TypeCaseHelper

    package org.sakaiproject.util; import java.math.BigDecimal; import java.sql.Date; import java.sql.Ti ...

  9. 又一款linux提权辅助工具

    又一款linux提权辅助工具 – Linux_Exploit_Suggester 2013-09-06 10:34 1455人阅读 评论(0) 收藏 举报 https://github.com/Pen ...

随机推荐

  1. Call to undefined function imageftbbox()

    mac自带的php的验证码出现问题,搜索了一下Call to undefined function imageftbbox(),然后根据这个网站https://php-osx.liip.ch/本剧本机 ...

  2. lib_chan库学习

    -module(lib_chan_cs). %% 实现服务器端结构和机制的模块 -export([start_raw_server/4, start_raw_client/3]). -export([ ...

  3. storm性能优化

    Storm 性能优化 目录 场景假设 调优步骤和方法 Storm 的部分特性 Storm 并行度 Storm 消息机制 Storm UI 解析 性能优化 场景假设 在介绍 Storm 的性能调优方法之 ...

  4. (转)c#中判断是不是数字和字母

    一.判断字母string str = Console.ReadLine();if (char.isLetter(str)){ }else if (char.IsDigit(str)){ }if(ch& ...

  5. nio selector

    为什么使用Selector? 仅用单个线程来处理多个Channels的好处是,只需要更少的线程来处理通道.事实上,可以只用一个线程处理所有的通道.对于操作系统来说,线程之间上下文切换的开销很大,而且每 ...

  6. [UML] UML中类之间的几种关系

    类之间可能存在以下几种关系:关联(association).依赖(dependency).聚合(Aggregation,也有的称聚集).组合(Composition).泛化(generalizatio ...

  7. React个人学习笔记

    元素渲染 通过 ReactDOM.render() 方法渲染页面, 可以使用 ES6 class 来定义一个组件: 如何解析HTMl里面的空格: 1. 使用空格的 unicod 编码 : \u0020 ...

  8. 二十四种设计模式:抽象工厂模式(Abstract Factory Pattern)

    抽象工厂模式(Abstract Factory Pattern) 介绍提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类. 示例有Message和MessageModel,Messag ...

  9. HDU 4886 TIANKENG’s restaurant(Ⅱ) hash+dfs

    题意: 1.找一个字符串s使得 s不是给定母串的子串 2.且s要最短 3.s在最短情况下字典序最小 hash.,,结果t掉了...加了个姿势怪异的hash值剪枝才过.. #include <cs ...

  10. mysql5.7.x 编译安装

    一.卸载mariadb [root@mysql5 ~]# rpm -qa mariadb* mariadb-libs--.el7.centos.x86_64 [root@template tools] ...