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) )
源代码已上传,扫码下面二维码可获取源码