首页 > 编程知识 正文

python与人工智能关系(pythonopencv中文教程)

时间:2023-05-06 09:33:41 阅读:100826 作者:88

上一期分享了TensorFlow手写数字识别的文章。本期我们简单了解一下OpenCV的人脸识别测试,就是识别图片或者视频中的人脸。

要在OpenCV中使用Haar特征检测人脸,需要在haarcascades目录中使用OpenCV提供的xml文件(级联表)。这个级联表有一个训练好的AdaBoost训练集。首先,利用样本的哈尔特征对分类器进行训练,得到级联AdaBoost分类器。哈尔特征值反映了图像灰度的变化。比如脸部的一些特征可以简单地用矩形特征来描述,比如:眼睛比脸颊深,鼻梁两侧比鼻梁深,嘴巴比周围的颜色深。

安装OpenCV3时,有一个/haarcscades文件夹,里面包含了OpenCV的所有人脸检测XML文件。

haarcascade _ eye.xml

haarcscade _ eye _ tree _ eyes . XML

haarcascade _ frontalcatface.xml

haarcscade _ frontal catface _ extended . XML

haarcascade _ frontalface _ alt.xml

haarcscade _ frontal face _ alt _ tree . XML

haarcscade _ frontal face _ alt2 . XML

haarcscade _ frontal face _ default . XML

haarcascade _ fullbody.xml

haarcscade _ left eye _ 2 splits . XML

haarcscade _ license _ plate _ RUS _ 16 stages . XML

haarcascade _ lowerbody.xml

haarcascade _ profileface.xml

haarcascade _ righteye _ 2splits.xml

haarcscade _ Russian _ plate _ number . XML

haarcascade _ smile.xml

haarcascade _ upperbody.xml

上面提到的xml是人脸不同部分的模型,我们使用以下模型来识别人脸。

haarcascade _ frontalface _ alt.xml

本期分享如何用这个模型识别图片中的人脸。

导入cv2 #导入

img=cv2 . imread(r ' d : foxtable example image Li . jpg ')#导入图片

Face=cv2。级联分类器(r 'd: 程序文件(x86) anaconda 3 pkgs libopencv-3 . 4 . 1-h875 b8 _ 3 library etc Haar级联 haar cascade _ frontal face _

Gray=cv2.cvtcolor (img,cv2.color _ rgb2gray) # gray

face=face . detection多尺度(灰色)

对于面: # 5中的(x,y,w,h)参数,参数图片,2坐标原点,3标识尺寸,4,颜色5,线宽

cv2 .矩形(img,(x,y),(x w,y h),(0,255,0),2)

2.CVS。命名窗口(“电源”)#创建窗口

2.cvimshow ('powers _ li ',img) #显示图片

2.cv2.waitKey(0) #暂停窗口

2.cv2.destroyWindow() #关闭窗口

#关上窗户

cv2.destroyAllWindows()

用OpenCV自带的模型库很容易检测人脸。下次,我们将分享如何从视频中检测人脸。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。