展開
湖北國聯(lián)計(jì)算機(jī)科技有限公司
  • 首頁HOME
  • 公司簡介INTRODUCTION
  • 安全防御DEFENSE
  • 軟件開發(fā)SOFTWARE
  • 物聯(lián)網(wǎng)IOT
  • 運(yùn)行維護(hù)SRE
  • 成功案例CASE
  • 聯(lián)系我們CONTACT
  • Software Technology Sharing |技術(shù)分享

    由“跳一跳”小程序聊一聊C#與沖頂大會(huì)
    來源:荊州軟件開發(fā) 荊州網(wǎng)站建設(shè) 時(shí)間:2018-01-18

    一、由跳一跳開始

    2018年初,跳一跳小程序著實(shí)火了一把。一時(shí)間,各種攻略,甚至輔助工具也應(yīng)運(yùn)而生。作為.net陣營的一員,這篇跳一跳輔助程序文章,可以說是讓人眼前一亮。實(shí)現(xiàn)思路大體如下:

    1.下載adb工具;

    2.打開手機(jī)usb調(diào)試模式;

    3.通過命令行調(diào)用adb工具,向手機(jī)發(fā)送命令

       3.1發(fā)送截圖命令

       3.2將截圖從手機(jī)復(fù)制到磁盤

       3.3將手機(jī)截圖繪制到winform窗體的PixtureBox

       3.4鼠標(biāo)左鍵單擊小人底部,右鍵單擊目標(biāo)點(diǎn)

       3.5將小人底部的點(diǎn),目標(biāo)點(diǎn)之間的距離轉(zhuǎn)換為屏幕按壓時(shí)間

       3.6發(fā)送屏幕按壓命令

    4.手動(dòng)完成一次跳躍


    二、偶遇沖頂大會(huì)

    有意無意得總是遇見沖頂大會(huì)幾個(gè)字,通過搜索后,發(fā)現(xiàn)是一款在線限時(shí)答題類app。每道題三個(gè)選項(xiàng),10s內(nèi)作答,共12道題目,去不答對(duì)以后與其他全答對(duì)的人均分獎(jiǎng)金。獎(jiǎng)金從50000-300000不等。

    答題輔助思路:

    1.截取手機(jī)屏幕圖片

    2.識(shí)別截圖中的題目

    3.調(diào)用瀏覽器,搜索題目

    不過,此思路是基于ios手機(jī)操作系統(tǒng),采用 iOS + Mac+WDA+免費(fèi)ocr識(shí)別來實(shí)現(xiàn)的。


    三、跳一跳與沖頂大會(huì)

    本著生命在于折騰的原則,想著在android手機(jī)操作系統(tǒng)+windows操作系統(tǒng)上也能實(shí)現(xiàn)一個(gè)答題輔助工具。借(剽)鑒(竊)上面的實(shí)現(xiàn)思路,說下,具體的實(shí)現(xiàn)過程。

    1.發(fā)送獲取屏幕截圖命令 ”adb shell screencap -p /sdcard/xxx.png”

    2.發(fā)送將手機(jī)截圖復(fù)制到本地磁盤的命令  ”pull /sdcard/xxx.png"

    3.獲取題目所在區(qū)域

       3.1 自己的手機(jī)屏幕分辨率為1080*1920,手機(jī)截圖長度為16.5cm,題目開始出現(xiàn)的位置距離圖片頂部為3cm,題目寬度大概為2cm(題目為2行文字),這一步,跳一跳輔助工具已經(jīng)實(shí)現(xiàn)了。

       3.2 調(diào)用算法,從手機(jī)截圖中截取題目所在區(qū)域大小的圖片 Bitmap map = GetPart(file, 0, 0, 1080, (int)(1920 * (5.5 - 3) / 16.5), 0, (int)(1920 * 3 / 16.5));

       3.3 使用開源ocr識(shí)別庫Tesseract,識(shí)別上一步截圖map中的題目GetOcrText

       3.4 去除題目中的換行,處理特殊字符。

       3.5調(diào)用瀏覽器,搜索題目


    四、問題

    1.問題1:題目所在區(qū)域的獲取,題目有時(shí)為一行,有時(shí)為兩行,圖片大小不太固定

    2.問題2:從獲取發(fā)送截圖命令,將截圖復(fù)制到本地磁盤,截取題目所在區(qū)域大小圖片,識(shí)別圖片中題目內(nèi)容,調(diào)用瀏覽器搜索,呈現(xiàn)搜索結(jié)果共耗時(shí)6s左右,答題時(shí)間僅有10s,有點(diǎn)不太夠用


    五、總結(jié)

    雖然,到頭來結(jié)果不是太理想,但這個(gè)舉一反三的探索過程卻是有收獲的。從一開始o(jì)cr識(shí)別不支持中文,到Tesseract庫項(xiàng)目編譯失敗,再到搜索Tesseract支持的中文識(shí)別依賴文件chi_sim.traineddata,是解決問題能力的鍛煉,也是漲姿勢的過程??偟膩碚f還不錯(cuò)。歡迎交流。

    荊州地區(qū)政府網(wǎng)站建設(shè) 解決方案 專業(yè)團(tuán)隊(duì) 騰訊第三方平臺(tái) 地址:湖北省荊州市沙市區(qū)荊沙大道楚天都市佳園一期C區(qū)29棟112       地址:湖北省松滋市新江口街道才知文化廣場1幢1146-1151室     郵編:434200 聯(lián)系電話:0716-6666211     網(wǎng)站編輯部郵箱:business@gl-ns.com 鄂公網(wǎng)安備 42100202000212號(hào) 備案號(hào):鄂ICP備2021015094號(hào)-1     企業(yè)名稱:湖北國菱計(jì)算機(jī)科技有限公司