python,很容易入门的一门语言。
当然,我现在还一直停留在入门这。。
关于照片中人脸检测的脚本:
# -*- coding: UTF-8 -*-
importcv2
importos.path
defdetect(image_path):
"""识别人脸标框,不太准确,有的识别不出来"""
# 创建检测人脸的对象 要在opencv的目录下找到xml文件,放置到自己项目中
face_cascade = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
img = cv2.imread(image_path)# 读取图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# 转为灰度图像
faces = face_cascade.detectMultiScale(gray,1.3,5)# 进行人脸检测
"""
faces = face_cascade.detectMultiScale(img, scaleFactor, minNeighbors)
参数:
img: 识别的原图
scaleFactor: 迭代时图像的压缩率
minNeighbors: 每个人脸矩形保留近邻数目的最小值
返回值:
一个列表,列表里边每一项是一个框起人脸的矩形(x, y, w, h)
"""
print(faces)
for(x, y, w, h)infaces:
img = cv2.rectangle(img, (x, y), (x + w, y + h), (,255,),2)# 画出矩形框
cv2.imwrite(result_picture + file_name +".jpg", img)
if__name__ =="__main__":
source_picture ="F:\\Test3\\source\\"
result_picture ="F:\\Test3\\result\\"
forimage_nameinos.listdir(source_picture):
ifimage_name.endswith(".jpg"):
file_name = image_name[:-1*4]
image_path = source_picture + file_name +".jpg"
detect(image_path)
这次格式没乱,but右边的显示不全了。。
结果:
这个脚本是用python的opencv模块做的,所以很简单,不用自己写程序咋咋检测人脸,直接拿过来用就好了
不过这个有好多不准的,就是图片上有人脸但检测不出来,还有把别的东西检测出成人脸的(这个比较少,几张)
之前为了学习用工具画出图片上的人脸并计算人脸宽度时候顺便学到的,其实到最后也没用上,自己搞着玩玩
领取专属 10元无门槛券
私享最新 技术干货