随着圣诞的到来,想给给自己的头像加上一顶圣诞帽。如果不是头像,就加一个圣诞老人陪伴。

用Python给头像加上圣诞帽,看了下大概也都是来自2017年大神的文章:https://zhuanlan.zhihu.com/p/32283641

主要流程

素材准备

人脸检测与人脸关键点检测

调整大小,添加帽子

用dlib的正脸检测器进行人脸检测,用dlib提供的模型提取人脸的五个关键点

调整帽子大小,带帽

选取两个眼角的点,求中心作为放置帽子的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给头像加上圣诞帽或圣诞老人小图标附源码相关推荐

  1. python画圣诞帽_使用Python给头像加上圣诞帽或圣诞老人小图标附源码

    随着圣诞的到来,想给给自己的头像加上一顶圣诞帽.如果不是头像,就加一个圣诞老人陪伴. 用Python给头像加上圣诞帽,看了下大概也都是来自2017年大神的文章:https://zhuanlan.zhi ...

  2. 【Python】基金/股票 最大回撤率计算与绘图详解(附源码和数据)

    如果你想找的是求最大回撤的算法,请跳转:[Python] 使用动态规划求解最大回撤详解 [Python]基金/股票 最大回撤率计算与绘图详解(附源码和数据) 0. 起因 1. 大成沪深300指数A 5 ...

  3. C++课程设计实训_基于多态书籍信息管理系统的设计与实现、附源码、有过程截图

    C++课程设计实训_基于多态书籍信息管理系统的设计与实现.附源码,有过程截图 书籍信息管理系统的设计与实现(基于多态) 学生姓名: 学 号: 指导老师: 所 在 系: 专 业: 班 级: C++课程设 ...

  4. python画圣诞帽_用Python给头像加上圣诞帽或圣诞老人小图标

    随着圣诞的到来,想给给自己的头像加上一顶圣诞帽.如果不是头像,就加一个圣诞老人陪伴. 用Python给头像加上圣诞帽,看了下大概也都是来自2017年大神的文章:https://zhuanlan.zhi ...

  5. 圣诞老人python代码_用Python给头像加上圣诞帽或圣诞老人小徽章

    随着圣诞的到来,想给给自己的头像加上一顶圣诞帽.如果不是头像,就加一个圣诞老人陪伴. 用Python给头像加上圣诞帽,看了下大概也都是来自2017年大神的文章: https://zhuanlan.zh ...

  6. 用Python给头像加上圣诞帽或圣诞老人小徽章

    随着圣诞的到来,想给给自己的头像加上一顶圣诞帽.如果不是头像,就加一个圣诞老人陪伴. 用Python给头像加上圣诞帽,看了下大概也都是来自2017年大神的文章: https://zhuanlan.zh ...

  7. 用Python给头像加上圣诞帽或圣诞老人小图标

    随着圣诞的到来,想给给自己的头像加上一顶圣诞帽.如果不是头像,就加一个圣诞老人陪伴. 用Python给头像加上圣诞帽,看了下大概也都是来自2017年大神的文章:https://zhuanlan.zhi ...

  8. python画羊_『Python Kivy』官方乒乓球游戏示例解析

    本篇文章用于对Kivy框架官方所给出的一个「乒乓球」小游戏的源码进行简单地解析.我会尽可能的将方方面面的内容都说清楚.在文章的最下方为官方所给出的这个小游戏的教程以及游戏源码. 由于篇幅所限,本文只简 ...

  9. css3 烟 蚊香_如何使用纯CSS实现蚊香燃烧的效果(附源码)

    本篇文章给大家带来的内容是关于如何使用纯CSS实现传统蚊香燃烧的效果(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 效果预览 源代码下载 每日前端实战系列的全部源代码请从 ...

最新文章

  1. Nature综述:Rob Knight带你分析微生物组数据(2020版)
  2. RecyclerView因版本问题无法加载
  3. Sprint2-2.0
  4. apache禁止訪问某些文件或文件夹的方法
  5. (11)Zynq SPI控制器介绍
  6. ESFramework介绍之(34)―― ITcpServerAgent和IUdpServerAgent组件关系图
  7. CPU 是如何工作的?
  8. HTML5移动端最新兼容问题解决方案
  9. android手机怎么用车载高德地图,用手机更新车载高德地图,汽车导航升级方法...
  10. JavaScript设计模式之装饰者模式
  11. e路航 LH900N地图升级
  12. json文件批量转换xml
  13. GPU-CUDA编程学习(四)-共享内存
  14. 数字图像处理 低通、高通、带阻和带通滤波器
  15. 智能手机平台:TI,Intel,Moto
  16. Linux shell编程100例
  17. 四种连接类型:inner(内连接),left[outer](左外连接),right[outer](右外连接),full[outer](完全外连接)
  18. 两个long型数据相除结果错误问题解决
  19. 如何将QQ音乐SQ品质FLAC格式转换成MP3音乐
  20. 聚合物?锂离子?保护板?电子DIY中的锂电池相关知识大讲解

热门文章

  1. echarts实现柱状图纹理填充及背景纹理填充效果
  2. 代码战争之返回荆棘农场
  3. STM32FLASH介绍和代码
  4. 在线教育项目04_讲师管理前端开发
  5. 计算机网络 13 OSI参考模型
  6. Redis高可用集群主流架构方案分析
  7. java测试模拟网页点击,httpunit爬虫模拟搜索详解与实战
  8. 单目深度估计梳理(2) -- 多任务篇
  9. 九龙证券|算力大基建来了!交易额提高32倍,打造算力南线主干道
  10. 今天给大家分享使用Scratch做一个抛物运动研究之愤怒的炮弹!