用Python给头像加上圣诞帽或圣诞老人小徽章
随着圣诞的到来,想给给自己的头像加上一顶圣诞帽。如果不是头像,就加一个圣诞老人陪伴。
用Python给头像加上圣诞帽,看了下大概也都是来自2017年大神的文章: https://zhuanlan.zhihu.com/p/32283641
主要流程
素材准备
人脸检测与人脸关键点检测
调整大小,添加帽子
用dlib的正脸检测器进行人脸检测,用dlib提供的模型提取人脸的五个关键点
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。 很多已经做案例的人,却不知道如何去学习更加高深的知识。 那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码! QQ 群:696455390
# dlib人脸关键点检测器 predictor\_path = "shape\_predictor\_5\_face\_landmarks.dat" predictor = dlib.shape\_predictor(predictor\_path) # dlib正脸检测器 detector = dlib.get\_frontal\_face\_detector() # 正脸检测 dets = detector(img, 1) # 如果检测到人脸 if len(dets)>0: for d in dets: x,y,w,h \= d.left(),d.top(), d.right()-d.left(), d.bottom()-d.top() # x,y,w,h = faceRect cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2,8,0) # 关键点检测,5个关键点 shape = predictor(img, d) for point in shape.parts(): cv2.circle(img,(point.x,point.y),3,color=(0,255,0)) cv2.imshow("image",img) cv2.waitKey()
调整帽子大小,带帽
选取两个眼角的点,求中心作为放置帽子的x方向的参考坐标,y方向的坐标用人脸框上线的y坐标表示。然后我们根据人脸检测得到的人脸的大小调整帽子的大小,使得帽子大小合适。
# 选取左右眼眼角的点 point1 = shape.part(0) point2 = shape.part(2) # 求两点中心 eyes\_center = ((point1.x+point2.x)//2,(point1.y+point2.y)//2) # cv2.circle(img,eyes\_center,3,color=(0,255,0)) # cv2.imshow("image",img) # cv2.waitKey() # 根据人脸大小调整帽子大小 factor = 1.5 resized\_hat\_h = int(round(rgb\_hat.shape\[0\]\*w/rgb\_hat.shape\[1\]\*factor)) resized\_hat\_w = int(round(rgb\_hat.shape\[1\]\*w/rgb\_hat.shape\[1\]\*factor)) if resized\_hat\_h > y: resized\_hat\_h = y\-1 # 根据人脸大小调整帽子大小 resized\_hat = cv2.resize(rgb\_hat,(resized\_hat\_w,resized\_hat\_h))
添加小图标
当然有些同学的头像不是人物或不能准确的识别无关,所有添加了标识。(即在右下添加小图标)。
小图标避免单调,是从图标中随机选择一个:
图标位置也可以根据爱好调整大小和位置
代码如下:
# 水印图片 num = random.randint(1, 5) logo = Image.open("img\_icon/santa\_" + str(num) + ".png") img = Image.open(imgPath) print(img.size, logo.size) # 图层 layer = Image.new("RGBA", img.size, (255, 255, 255, 0)) layer.paste(logo, (img.size\[0\] - logo.size\[0\], img.size\[1\]-logo.size\[1\])) # 覆盖 img\_after = Image.composite(layer, img, layer) # img\_after.show() img\_after.save(outImgePath)
结果如下
用Python给头像加上圣诞帽或圣诞老人小徽章相关推荐
- 圣诞老人python代码_用Python给头像加上圣诞帽或圣诞老人小徽章
随着圣诞的到来,想给给自己的头像加上一顶圣诞帽.如果不是头像,就加一个圣诞老人陪伴. 用Python给头像加上圣诞帽,看了下大概也都是来自2017年大神的文章: https://zhuanlan.zh ...
- python画圣诞帽_使用Python给头像加上圣诞帽或圣诞老人小图标附源码
随着圣诞的到来,想给给自己的头像加上一顶圣诞帽.如果不是头像,就加一个圣诞老人陪伴. 用Python给头像加上圣诞帽,看了下大概也都是来自2017年大神的文章:https://zhuanlan.zhi ...
- python画圣诞老人_使用Python给头像加上圣诞帽或圣诞老人小图标附源码
随着圣诞的到来,想给给自己的头像加上一顶圣诞帽.如果不是头像,就加一个圣诞老人陪伴. 用Python给头像加上圣诞帽,看了下大概也都是来自2017年大神的文章:https://zhuanlan.zhi ...
- python画圣诞帽_用Python给头像加上圣诞帽或圣诞老人小图标
随着圣诞的到来,想给给自己的头像加上一顶圣诞帽.如果不是头像,就加一个圣诞老人陪伴. 用Python给头像加上圣诞帽,看了下大概也都是来自2017年大神的文章:https://zhuanlan.zhi ...
- 用Python给头像加上圣诞帽或圣诞老人小图标
随着圣诞的到来,想给给自己的头像加上一顶圣诞帽.如果不是头像,就加一个圣诞老人陪伴. 用Python给头像加上圣诞帽,看了下大概也都是来自2017年大神的文章:https://zhuanlan.zhi ...
- python画圣诞帽_用Python给头像加上圣诞帽
原标题:用Python给头像加上圣诞帽 随着圣诞的到来,大家纷纷@官微给自己的头像加上一顶圣诞帽.我们有必要写一个程序来做这件事情. 用到的工具 OpenCV dlib 流程 一.素材准备 首先我们需 ...
- 用Python给头像加上圣诞帽
正文共3743个字,9张图,预计阅读时间22分钟. 01 引言 随着圣诞的到来,大家纷纷@官方微信给自己的头像加上一顶圣诞帽.当然这种事情用很多P图软件都可以做到.但是作为一个学习图像处理的技术人,还 ...
- python头像教程_用Python给头像加上圣诞帽,新手必学
随着圣诞的到来,大家纷纷@官方微信给自己的头像加上一顶圣诞帽.当然这种事情用很多P图软件都可以做到.但是作为一个学习图像处理的技术人,还是觉得我们有必要写一个程序来做这件事情.而且这完全可以作为一个练 ...
- 用python给头像加圣诞帽
首页 算法 社区 帮助 登录 注册 首页 帮助 常见问题 算法管理 算法上传 开发与部署规范 C/C++ Python git管理 算法审核规则 项目说明 个人中心 关于极市 隐私策略 社区 文章详情 ...
最新文章
- 吴恩达深度学习课程的漫画版来了!(漫画、视频、笔记都可以下载了!)
- C语言学习之一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1,2,3,而6=1+2+3,因此6是“完数”。编程序找出1000之内的所有完数。
- Hadoop2调优(一):如何控制job的map任务和reduce任务的数量
- mysql_real_connect阻塞_mysql_real_connect崩溃、未经处理的异常
- Google research 一行预处理代码,让你的CV模型更强!
- Pytorch transforms.Resize()的简单用法
- React Suite 组件库
- 六石管理学:好大喜功,头目们是否相信
- 计算机视觉 图像算法工程师 面试问题总结
- Dockerfile 概念简介
- [TEST123] Performance Test
- 结合推荐营销和社交媒体的最佳实践有哪些?
- 【程序】STM32使用SPI接口读取93C46存储器上的数据(非软件模拟SPI时序)
- oracle 唯一约束 和 唯一索引
- 如何最大效率压缩视频文件(ffmpeg)
- centos系统安装字体
- 正则筛选图片url(js)
- 走进PEP8——代码规范
- composer 安装阿里云sdk
- excel调整坐标轴标签的旋转角度