Python + PIL 处理支付宝AR红包

  

思路比较简单:
1、对图片进行锐化处理;
2、设(r_h, g_h, b_h)为支付宝遮罩黑条的RGB值,以此为中心,查找半径为Diff_radius的范围内所有的色值;

3、对每一行符合步骤2的像素点个数进行计数,若该数值超过某个临界值(如:图片宽度的一半),将其所在行替换为上一行非遮罩数据;
4、对处理后的图片高斯滤镜。

以下是python代码:

 1 from PIL import Image,ImageFilter
 2
 3 Diff_radius = 500
 4 diff_min = 150
 5 r_h, g_h, b_h = 43, 55, 66
 6
 7 image = Image.open('test.png')
 8 image_width = image.size[0]
 9 image_height = image.size[1]
10 rgb_im = image.convert('RGB')
11
12 img_sharpen = image.filter(ImageFilter.SHARPEN)
13
14 img_new = Image.new('RGBA', image.size, (255,255,255,255))
15 img_copy = img_sharpen.crop((0,0,image_width,image_height))
16 img_new.paste(img_copy, (0,0,image_width,image_height))
17
18 y_tmp = 0
19
20 for y in range(image_height):
21     #y_is_black = 0
22     current_line_flag_acc = 0
23     for x in range(image_width):
24         r, g, b = rgb_im.getpixel((x, y))
25         if ((r_h-r)**2 + (g_h-g)**2 + (b_h-b)**2) < Diff_radius :
26             current_line_flag_acc = current_line_flag_acc + 1
27     if current_line_flag_acc > diff_min :
28         #y_is_black = 1
29         img1 = img_new.crop((0,y_tmp-2,image_width,y_tmp-1))
30         img_new.paste(img1, (0,y,image_width,y+1))
31         # print('y_tmp:%d -> y:%d'%(y_tmp,y))
32     else:
33         y_tmp = y
34 # img_save = img_new.filter(ImageFilter.GaussianBlur(radius=1.5))
35 img_new.save('test_1.png')
36 print("done!")

对于不同的图片,可能需要修改3、4、5行的参数。

目前测试过几组照片,发现给出的线索图片越复杂,这种方法处理后能被识别的成功率越高,尤其是对人脸,简单的处理后基本都可以识别。

识别成功的:

识别失败的:

  以上内容仅用作学习,起到抛砖引玉的作用,请不要用作其他用途。我只是个python和PIL的初学者。。。

posted on 2016-12-26 15:44 christ0127 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/christsong/p/6222548.html

Python + PIL 处理支付宝AR红包相关推荐

  1. 支付宝AR红包引出Python中的PIL小试

    这两天支付宝AR红包火了,周围的同学全在玩.可是我一直在想这个原理是什么?通过请教大神和思考,知道了它有两个限定条件:GPS地理位置和图片的识别.所以,只要我们有了这两个限定条件,就不难进行该红包的破 ...

  2. 扫福得福背后,支付宝 AR 红包的技术创新与故事

    春节期间,支付宝的「扫福得福」活动火爆异常.AR 是一种新的交互方式,与传统营销方式相比,可以使用户更深入地参与互动,给用户带来新体验.而支付宝红包,寄托着用户对未来的期盼,因此其团队就考虑将 AR ...

  3. 说一说关于破解支付宝AR红包的事

    当朋友圈的你们才开始分享支付宝AR红包的消息的时候,我已经对它动了一二三四次歪脑筋了,虽然事实证明并不是那么顺利,至今我也只在电脑前识别出5个不知道在哪里的红包,其中一个还因为定位信息不符开不了. 昨 ...

  4. 扫福得福背后,支付宝AR红包的技术创新与故事

    春节期间,支付宝的「扫福得福」活动火爆异常.AR是一种新的交互方式,与传统营销方式相比,可以使用户更深入地参与互动,给用户带来新体验.而支付宝红包,寄托着用户对未来的期盼,因此其团队就考虑将AR与红包 ...

  5. 较于微信红包,支付宝AR红包是个好产品吗?

    2016/12/26阅读 7.5k 评论 6收藏 23 零基础学产品,BAT产品总监带,2天线下集训+1年在线课程,全面掌握优秀产品经理必备技能.了解详情 好的产品是以用户目标为导向,能帮助用户更好的 ...

  6. 支付宝AR红包关闭,看昔日“网红”如何过气

    支付宝的AR红包于7月22日停止服务,和它合作的AR平台还好吗? 年初的时候,支付宝和QQ之间的AR红包大战可以说是抢尽了风头,关于AR营销以及AR进入消费端市场的讨论甚嚣尘上,镁客君当时还写过一篇文 ...

  7. 支付宝 AR 红包技术探讨及如何在下一波技术浪潮中畅泳

    AR继2016年在Pokemon Go的引爆下,2017年新年前后由支付宝带来了第二波热潮.这些现象背后预示着下一波技术浪潮,除人工智能及机器人外,代码构成的虚拟世界正逐步通过AR/VR侵入我们的生活 ...

  8. 从“扫月亮”到“扫福字”,扒一扒背后的支付宝AR框架体系

    摘要:从攒五福到抢红包,全国人民的春节活动越来越多样,其背后技术挑战也更复杂:业务层挑战与实现方案.AR红包支付架构变化.技术难点和攻克手段.优化细节和保障方法.安全风险和攻防实战等,每一年的红包背后 ...

  9. AR红包大战一触即发,2017年会成AR营销元年吗?

    互联网行业2016年不缺黑天鹅事件,但同样也不缺乏黑马产品.作为年度最热领域之一的AR(增强现实),就连续出现黑马产品.支付宝在12月21日推出"AR实景红包"一夜爆红,看上要想要 ...

最新文章

  1. 你想了解的Cookie和Session就在这~
  2. 我了解到的新知识之——电热水器用电安全
  3. SQL数据库面试题以及答案
  4. Linux怎么创建date文件,Linux下手工创建oracle database
  5. c语言求佩尔方程的解设计思路,c语言版 佩尔方程求最小正整数解及第k解(矩阵快速幂)...
  6. PSR-2 代码风格规范
  7. android 提供的方法,Android编程之创建自己的内容提供器实现方法
  8. centos7安装yum_centos7下yum方式安装jenkins
  9. Entity Framework 学习初级篇7--基本操作:增加、更新、删除、事务(转)
  10. c语言n天前是星期几,新手做的日历表及查找日期是星期几
  11. 联想小新Pro 13新款笔记本电脑获TUV莱茵低蓝光认证
  12. openwrt默认mac地址配置(MT7620a)
  13. 基于Flink的JDBC插入Nested结构数据到Clickhouse
  14. web和APP兼容性测试的关注点(软件测试)
  15. 微信H5支付,HTML页面代码
  16. 录制iPhone屏幕
  17. 给vue项目添加favicon.ico图标
  18. 航运“大数据”热潮袭来,亿海蓝船讯网助力产业升级
  19. 台式机CPU型号后缀含义
  20. [授权发表]源码分析:静态分析 C 程序函数调用关系

热门文章

  1. JavaScript的对象、属性与方法
  2. 修理牧场(哈夫曼树)
  3. 更换固态硬盘(不重装系统)(3)
  4. pyaudio录制音频和播放音频
  5. STC 51单片机53——电子指南针HMC5883l
  6. 全国天气预报信息数据接口 API
  7. 【RPA Mobile自动化4】手机测试自动化
  8. 文件查找,打包压缩,解压相关分享
  9. C++的友元函数,友元类及#pragma once的作用
  10. 怎么把两个PDF文件合并一起