首页 > 代码库 > opencv+python3.4的人脸识别----2017-7-19

opencv+python3.4的人脸识别----2017-7-19

opencv3.1  +  python3.4

第一回合(抄代码,可实现):人脸识别涉及一个级联表,目前能力还无法理解。

流程:1.读取图像---2.转换为灰度图---3.创建级联表---4.对灰度图使用级联表方法过滤---5.迭代得到的结果依次标记出来---6.保存图像

完整代码:

import cv2
#读取图片
img = cv2.imread(5.jpg)
#转化为灰度图
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
#特征级联表
face_cascade = cv2.CascadeClassifier(rhaarcascade_frontalface_default.xml)
# print(type(face_cascade))    #<class ‘cv2.CascadeClassifier‘>
#多尺寸检测,返回列表  # print(face)     #[[1947 2275  374  374]....
face = face_cascade.detectMultiScale(
    gray,1.3,5
)
print(发现{0}个脸.format(len(face)))
for (x,y,w,h) in face:
    #(图像对象,圆心,半径,颜色,封闭?)
    cv2.circle(img,((x+x+w)//2,(y+y+h)//2),w//2,(0,255,0),-1)
#保存图像
cv2.imwrite(14Peoele.jpg,img)
#显示图像
cv2.imshow(gray,img)
#防止闪屏
cv2.waitKey(0)

注意:1.python3中除法的整数用“//”

    2.识别跟图像像素有关,像素大,识别度高。

结果:

低像素:

技术分享技术分享

高像素:

技术分享技术分享

 

opencv+python3.4的人脸识别----2017-7-19