2.截取投屏画面的题目部分,进行识别,得到题目和三个答案;
3.将答案按照一定的算法,进行搜索,得出推荐答案;
4.添加了一些其他辅助功能,比如:浏览器搜索结果展示、关键字高亮、浏览器可点击等;
二、二营长,把我的意大利...............代码,呈上来,给友军看看
1.手机投屏:
方式很多,这里只列举几个比较常用、且自己感觉简单易用的:
A.IOS:局域网内,可以利用iTools里的苹果录屏大师(airplay),进行投屏;
B.安卓:利用连接线,可以用TotallControl,将安卓手机的画面投到电脑上;而且电脑上还能直接操作手机;
C.模拟器:一般都是安卓模拟器;可以自行下载并安装;
2.截取画面中的题目和答案
A.先设置要截图的区域。
我创建了一个窗体,专门用于设置截图区域,给它取名叫:frmCutter。
原理:在主窗体打开frmCutter时,就将frmCutter全拼显示。同时截取一张整个屏幕的图片,把它设置成frmCutter窗体的背景图片。
这样就能在frmCutter上自由地设置了。
主窗体打开frmCutter窗体时:
1//新建一个和屏幕大小相同的图片2BitmapcatchBmp=newBitmap(Screen.AllScreens[0].Bounds.Width,Screen.AllScreens[0].Bounds.Height);34//创建一个画板,让我们可以在画板上画图5//这个画板也就是和屏幕大小一样大的图片6//我们可以通过Graphics这个类在这个空白图片上画图7Graphicsg=Graphics.FromImage(catchBmp);89//把屏幕图片拷贝到我们创建的空白图片catchBmp中10g.CopyFromScreen(newPoint(0,0),newPoint(0,0),newSize(Screen.AllScreens[0].Bounds.Width,Screen.AllScreens[0].Bounds.Height));1112//创建截图窗体13frmCutter_frmCutter=newfrmCutter();14_frmCutter.Tag=this;1516//指示窗体的背景图片为屏幕图片17_frmCutter.BackgroundImage=catchBmp;1819_frmCutter.Width=Screen.AllScreens[0].Bounds.Width;20_frmCutter.Height=Screen.AllScreens[0].Bounds.Height;21DialogResultdr=_frmCutter.ShowDialog();然后再frmCutter窗体中,写入几个事件:
B.设置好截图区域后,每次题目出现时,变对该区域截图:
1//截取设置的区域屏幕图片2Bitmap_screenShots=newBitmap(Screen.AllScreens[0].Bounds.Width,Screen.AllScreens[0].Bounds.Height);3//创建一个画板,让我们可以在画板上画图4//这个画板也就是和屏幕大小一样大的图片5//我们可以通过Graphics这个类在这个空白图片上画图6Graphicsg_screenShots=Graphics.FromImage(_screenShots);7//把屏幕图片拷贝到我们创建的空白图片CatchBmp中8g_screenShots.CopyFromScreen(newPoint(0,0),newPoint(0,0),newSize(Screen.AllScreens[0].Bounds.Width,Screen.AllScreens[0].Bounds.Height));910//剪切的图片11_catchBmp=newBitmap(Tools.CatchRectangleSize.Width,Tools.CatchRectangleSize.Height);12Graphicsg=Graphics.FromImage(_catchBmp);13g.DrawImage(_screenShots,newRectangle(0,0,Tools.CatchRectangleSize.Width,Tools.CatchRectangleSize.Height),Tools.CatchRectangle,GraphicsUnit.Pixel);14g.Dispose();15g_screenShots.Dispose();1617//显示图像18this.imgCut.BackgroundImage=(Image)_catchBmp;
C.将截到的问题和答案图片,用OCR识别
比如,我现在设置并截取到了这张图片:
识别图片中的文字,OCR软件和API也不少。以前我用的谷歌tesseract4.0,安装在本机的,没做词库,识别率一般。
后来发现百度OCR每天免费调用500次,果断转场!事实证明,正确率还是高很多。
D.得到识别结果,将识别结果处理后,进行百度搜索:
创建了一个试题实体,后面用起来就方便了:
1///
E.百度搜索,并显示参考答案:
a).算法搜索:
1.用题目去百度搜索。在搜索的结果中,查询答案出现的次数。
2.用题目+答案去搜索。得到每个组合的百度结果个数。
然后将上述两种方法,根据权重权衡,用户可以自行决定偏向于哪种结果。
b).辅助搜索:
三、坐等吃鸡!
自动截图、自动识别、自动搜索、自动给出参考答案、自动展现出搜索页面并高亮显示关键字……
多了一系列的辅助功能,想不吃鸡都难啊~
(PS:热烈欢迎广大道友一起交流、指点,大家一起更上一层楼!)