因工作的原因,每年11月都要处理很多(1000张以上)的照片,并而要把照片处理成一寸大小。因为传统的方式一张一张处理,很费时间,只要是学过计算机都不可能一张一张处理的,之前我都是用软件的批理处理实现的,但是总会有照片,会被裁剪没有耳朵,或者没有头发。早就听说python语言语可以实现人工智能,那思路很简单。让python自动识别人脸,然后裁剪出指定大小,不就可以了吗。
说干就干先百度一下,找到了下面的文章,
import cv2
import os
import glob
#最后剪裁的图片大小
size_m = 48
size_n = 48
def detect(img, cascade):
rects = cascade.detectMultiScale(img, scaleFactor=1.3, minNeighbors=4, minSize=(30, 30),flags=cv2.CASCADE_SCALE_IMAGE)
if len(rects) == 0:
return []
rects[:, 2:] += rects[:, :2]
return rects
cascade = cv2.CascadeClassifier("cascades\\haarcascade_fr