查看原文
其他

平安夜,Python送你一顶圣诞帽 @微信官方

2017-12-24 crossin Crossin的编程教室

还有多少耿直boy和我一样在等待微信官方送上一顶圣诞帽?



最后知道真相的我眼泪掉下来


(还蒙在鼓里的同学请在微信最上方的搜索栏自行搜索『圣诞帽』)


好吧,你不给,咱自己来,不就是个帽子嘛。


Python 在手,圣诞帽我有!





OpenCV 库加上几张圣诞帽图片,三四十行代码轻松搞定。只不过调试的时候要注意点,图像坐标和像素矩阵索引的维度别搞乱了。



大致步骤:

  1. 安装 OpenCV(网上搜下教程有很多);

  2. 用 OpenCV 提供的级联分类器做人脸检测,定位出图片中的人脸位置;

  3. 根据找出的人脸,调整圣诞帽的位置和大小,叠加到原图片上;

  4. 遍历所有人脸,重复执行步骤3,过程中可随机变换帽子的样式;

  5. 保存图片。


OpenCV 人脸检测代码:

import cv2

# OpenCV 人脸检测
face_patterns = cv2.CascadeClassifier(
   'haarcascade_frontalface_default.xml'
) sample_image = cv2.imread('img/face2.jpg') faces = face_patterns.detectMultiScale(
   sample_image,
   scaleFactor=1.1,
   minNeighbors=8,
   minSize=(50, 50)
)

源代码已上传,公众号(Crossin的编程教室)中回复 圣诞帽 可获取下载地址。




  • 代码问题请在论坛 bbs.crossincode.com 上发帖提问

  • 点击文章最下方的“阅读原文”,查看更多学习资源

  • 别忘了将我们的文章转发朋友圈或在知乎上为我们的专栏点赞,你们的支持将会让编程教室做得更好:)




推荐阅读:

Python老司机给上路新手的3点忠告

【数据说话】当下的Python就业前景如何

Python有嘻哈:Crossin教你用代码写出押韵的verse

编程新手:看懂很多示例,却依然写不好一个程序

给伸手党的福利:Python 新手引导



欢迎加入

Crossin的编程教室

crossincode.com


  请把我们分享给身边爱学习的小伙伴 :)  

点击“阅读原文”,查看更多学习资源

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存