最近有朋友在應用市場上看到了此App被上架,問我是否是我上架的,我說不是我上架的。html
對於這種侵權行爲,我勢必會追究到底的。在此告誡那些坐享其成的人,請不要踐踏別人的勞動成果。git
前兩天去吃飯,回來的路上通過賣彩票的,順手就買了幾張,想着萬一運氣好中個500萬呢!哈哈,今天早上想起來這件事,看了一下藍號,沒有一個是同樣的,而後,我想着6+0好像也還不錯,起碼也是二等獎,對着中獎號碼一個一個比對,15組號碼看着我頭都大了,我這暴脾氣……而後它就成這樣了。github
爲了之後對彩票的時候不這麼痛苦,因而着手開發了一個專門檢查彩票有沒有中獎的App-【福彩號碼對比助手】,這樣之後就不用傻頭傻腦的對着中獎號碼比對了,哈哈,通過大半天的努力,成果以下: 正則表達式
拍照及裁剪api
調用相機將購買的彩票拍下來,而後對拍成的照片進行裁剪,裁剪的目的是爲了突出重點,咱們的重點就是購買的彩票的號碼區域和開獎期,縮小範圍的目的是提升圖片的識別成功率,包含開獎期是爲了自動識別開獎期,這樣能夠少讓用戶手動輸入開獎期(這個後面會提到)。瀏覽器
圖片文字識別測試
對剛剛裁剪的圖片進行文字識別,文字的識別仍是使用百度雲的文字識別,傳送門--百度雲文字識別快速入門,連接是 https://cloud.baidu.com/doc/OCR/OCR-Java-SDK.html#.E5.BF.AB.E9.80.9F.E5.85.A5.E9.97.A8.net
識別後的文字處理cdn
這一塊比較麻煩,由於調用百度雲的文字識別以後,返回的數據比較亂,咱們須要篩選出咱們須要的文字,並對文字進行處理。htm
首先百度雲識別的文字會以字符串集合的方式返回給咱們,它主要是以塊來進行文字識別,每一小塊識別的文字做爲一個總體返回,因此咱們要從這些塊兒中選出咱們須要的內容。
咱們只關注兩個點,一個是購買的幾組號碼,另一個是開獎期。
單注號碼
首先咱們發現,不論單張購買幾注號碼,每一注號碼都會按照以下的格式輸出:
A.02 03 07 12 13 17 + 16 X1
首先是以大寫字母加.開頭 而後是連着6組兩位數的紅色號碼,而後是「+」,「+」後面是兩位數的藍號,再後面是「x」+購買的注數。有了這些規律,咱們就能夠書寫對應的正則表達式了:
^[A-Z].[0-9]{12}+?[0-9]{2}x?[0-9]+$
咱們首先對這個正則作一個簡單的解釋:
字符串以A-Z中一個字母加.開始,接着有12位0-9的數字(這個是6個紅號),而後有0個或者1個「+」(爲何是0到1個呢,由於通過測試,有時候可能會識別不出「+」號,爲了識別的準確率,咱們不對這個「+」作強制處理),而後是2位的0-9的數字(這個是藍號),而後是0個或者1個「x」(跟前面的「+」是同樣的,爲了提升識別率),最後就是購買這個號碼的注數了,1到多個0-9的數字(指1到n)。
這個正則表達式能夠過濾出咱們須要的文字,若是知足這個正則表示這一條數據是咱們買的一組號碼。
開獎期
對於開獎期來講就比較簡單了,只須要字符串的前三個字符是「開獎期」就行了,由於若是識別不出來,用戶也能夠手動輸入,都ok,無傷大雅,若是識別出來了,咱們就直接幫用戶填入輸入框中,這樣用戶就不用本身輸入了,如gif所示。
獲取本期彩票中獎號碼
咱們已經識別出咱們彩票上的號碼了,如今須要獲取到本期中獎的號碼,而後進行比對,看是否中獎。咱們使用的是showapi上的一個免費的接口,彩票開獎查詢,連接:https://www.showapi.com/api/lookPoint/44,使用這個接口咱們能夠獲取最新的開獎信息,也能夠獲取到指按期號的中獎號碼。具體使用你們能夠點連接進去悄悄。
比對號碼獲取中獎信息
中獎號碼和你購買的號碼都已經拿到了,剩下的就是對比號碼是否是符合的了,這個比較簡單了,就再也不贅述,下面貼出福彩中獎規則:
2018年06月01日更新 新增對匹配結果的反顯效果,中獎結果更明顯,效果以下:
項目已經開源,但願能幫到你,也但願愛買彩票的你早日中獎。另外,因爲時間比較緊,因此代碼可能有點亂,你們將就一下! LotteryHelper 連接是 https://github.com/MZCretin/LotteryHelper
若是你周圍有朋友喜歡買福彩的,能夠推薦他使用,他確定須要的,畢竟高效,綠色,無公害!另外你們也能夠直接下載APK體驗一波,Apk下載地址,請複製連接在瀏覽器中打開進行下載,連接 http://jokesimg.cretinzp.com/common/lotteryhelper/apk/fcdhzs.apk,也能夠用手機掃描下方二維碼進行下載體驗:
今天晚上九點等到開獎以後,我興奮的用App檢測了我買的15注號碼,就中了一注藍號的,只有5塊錢,僅以最開頭的那張圖記念年少無知的我買了5張彩票,哈哈哈。
我就是比較喜歡用代碼解決生活中的問題,感受很開心,哈哈哈。也喜歡你們關注個人簡書,掘金,Github和CSDN。
簡書首頁,連接是 https://www.jianshu.com/u/123f97613b86
掘金首頁,連接是 https://juejin.im/user/5838d57fac502e006c1708bc
Github首頁,連接是 https://github.com/MZCretin
CSDN首頁,連接是 http://blog.csdn.net/u010998327
我是Cretin,一個可愛的小男孩。