其他
平安夜,Python送你一顶圣诞帽 @微信官方
还有多少耿直boy和我一样在等待微信官方送上一顶圣诞帽?
最后知道真相的我眼泪掉下来
(还蒙在鼓里的同学请在微信最上方的搜索栏自行搜索『圣诞帽』)
好吧,你不给,咱自己来,不就是个帽子嘛。
Python 在手,圣诞帽我有!
OpenCV 库加上几张圣诞帽图片,三四十行代码轻松搞定。只不过调试的时候要注意点,图像坐标和像素矩阵索引的维度别搞乱了。
大致步骤:
安装 OpenCV(网上搜下教程有很多);
用 OpenCV 提供的级联分类器做人脸检测,定位出图片中的人脸位置;
根据找出的人脸,调整圣诞帽的位置和大小,叠加到原图片上;
遍历所有人脸,重复执行步骤3,过程中可随机变换帽子的样式;
保存图片。
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有嘻哈:Crossin教你用代码写出押韵的verse
欢迎加入
Crossin的编程教室
crossincode.com
请把我们分享给身边爱学习的小伙伴 :)
点击“阅读原文”,查看更多学习资源