重要
最近有朋友在應用市場上看到了此App被上架,問我是不是我上架的,我說不是我上架的。
我在此宣告,在沒有經過我的授權的情況下,請任何人不要修改後提交應用市場,請尊重別人的勞動成果。
我在此宣告,在沒有經過我的授權的情況下,請任何人不要修改後提交應用市場,請尊重別人的勞動成果
我在此宣告,在沒有經過我的授權的情況下,請任何人不要修改後提交應用市場,請尊重別人的勞動成果
對於這種侵權行為,我勢必會追究到底的。在此告誡那些不勞而獲的人,請不要踐踏別人的勞動成果。
前言
前兩天去吃飯,回來的路上經過賣彩票的,順手就買了幾張,想著萬一運氣好中個500萬呢!哈哈,今天早上想起來這件事,看了一下藍號,沒有一個是一樣的,然後,我想著6+0好像也還不錯,起碼也是二等獎,對著中獎號碼一個一個比對,15組號碼看著我頭都大了,我這暴脾氣……然後它就成這樣了。
為了以後對彩票的時候不這麼痛苦,於是著手開發了一個專門檢查彩票有沒有中獎的App-【福彩號碼對比助手】,這樣以後就不用傻頭傻腦的對著中獎號碼比對了,哈哈,經過大半天的努力,成果如下:
功能及流程介紹
-
拍照及裁剪
呼叫相機將購買的彩票拍下來,然後對拍成的照片進行裁剪,裁剪的目的是為了突出重點,我們的重點就是購買的彩票的號碼區域和開獎期,縮小範圍的目的是提高圖片的識別成功率,包含開獎期是為了自動識別開獎期,這樣可以少讓使用者手動輸入開獎期(這個後面會提到)。
-
圖片文字識別
對剛剛裁剪的圖片進行文字識別,文字的識別還是使用百度雲的文字識別,傳送門--百度雲文字識別快速入門,連結是 https://cloud.baidu.com/doc/OCR/OCR-Java-SDK.html#.E5.BF.AB.E9.80.9F.E5.85.A5.E9.97.A8
-
識別後的文書處理
這一塊比較麻煩,因為呼叫百度雲的文字識別之後,返回的資料比較亂,我們需要篩選出我們需要的文字,並對文字進行處理。
首先百度雲識別的文字會以字串集合的方式返回給我們,它主要是以塊來進行文字識別,每一小塊識別的文字作為一個整體返回,所以我們要從這些塊兒中選出我們需要的內容。
我們只關注兩個點,一個是購買的幾組號碼,另外一個是開獎期。
單注號碼
首先我們發現,不論單張購買幾注號碼,每一注號碼都會按照如下的格式輸出:
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,使用這個介面我們可以獲取最新的開獎資訊,也可以獲取到指定期號的中獎號碼。具體使用大家可以點連結進去悄悄。
-
比對號碼獲取中獎資訊
中獎號碼和你購買的號碼都已經拿到了,剩下的就是對比號碼是不是符合的了,這個比較簡單了,就不再贅述,下面貼出福彩中獎規則:
- 一等獎:7個號碼相符(6個紅色球號碼和1個藍色球號碼)(紅色球號碼順序不限,下同)
- 二等獎:6個紅色球號碼相符;
- 三等獎:5個紅色球號碼和1個藍色球號碼相符;
- 四等獎:5個紅色球號碼,或4個紅色球號碼和1個藍色球號碼相符;
- 五等獎:4個紅色球號碼,或3個紅色球號碼和1個藍色球號碼相符;
- 六等獎:1個藍色球號碼相符(有無紅色球號碼相符均可)。
-
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,一個可愛的小男孩。