c语言sscanf函数的用法是什么
357
2022-08-28
python 识别图片中的人脸,并裁剪人脸,将图片转化成固定大小,并将图片再按照自己的后缀名存储起来
下列代码,识别图片中的人脸,并裁剪人脸,将图片转化成固定大小,再按照自己的后缀名存储起来
bug:我是用来识别单张图片中只有一个人脸的数据集,如果用来处理一张图片中的多个人脸,那么图片的命名可能会有bug
import cv2import osimport glob#最后剪裁的图片大小size_m = 48size_n = 48def 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 rectscascade = cv2.CascadeClassifier("cascades\\haarcascade_frontalface_alt2.xml")imglist=glob.glob("data/image/jaffe/*")for list in imglist: #print(list) # cv2读取图像 img = cv2.imread(list) dst=img rects=detect(dst,cascade) for x1,y1,x2,y2 in rects: #调整人脸截取的大小。横向为x,纵向为y roi = dst[y1+10 :y2+20, x1+10 :x2 ] img_roi = roi re_roi = cv2.resize(img_roi, (size_m, size_n)) #新的图像存到data/image/jaffe_1 f = "{}/{}".format("data/image", "jaffe_1") #print(f) if not os.path.exists(f): os.mkdir(f) #切割图像路径 path=list.split(".") #新的图像存到data/image/jaffe_1 并以jpg 为后缀名 cv2.imwrite("{}/{}_{}.jpg".format(f,path[1],path[2]), re_roi)
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~