【为生活开发系列之五】开源Android福彩号码对比助手

前言

前两天去吃饭,回来的路上经过卖彩票的,顺手就买了几张,想着万一运气好中个500万呢!哈哈,今天早上想起来这件事,看了一下蓝号,没有一个是一样的,然后,我想着6+0还想也还不错,对着中奖号码一个一个比对,看着我头都大了,我这暴脾气,XXXXXXX,然后他就成这样了。

我这暴脾气

为了以后对彩票的时候不这么痛苦,于是着手开发了一个专门检查彩票有没有中奖的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个蓝色球号码相符(有无红色球号码相符均可)。

相关链接

项目已经开源,希望能帮到你,也希望爱买彩票的你早日中奖。
LotteryHelper 链接是 https://github.com/MZCretin/LotteryHelper

另外大家也可以直接下载APK体验一波,Apk下载地址,请复制链接在浏览器中打开进行下载,链接 http://jokesimg.cretinzp.com/common/lotteryhelper/apk/fcdhzs.apk,也可以用手机扫描下方二维码进行下载体验:
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,一个可爱的小男孩。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值