opencv实现人脸检测Python版

opencv实现人脸检测Python版

转载请注明出处:https://blog.csdn.net/qq_41007606/article/details/81950520

opencv的确是一款功能强大的图像处理开源库,里面内置了很多强大的功能。其中它提供的人脸检测接口实现简单而且效果不错。
先来看一下博主自己使用opencv实现的效果图:
这里写图片描述
这里可以看出,检测效果还是很不错的,七位女团成员的面部都被检测出来啦。
接下来我们看一下它的具体实现。
首先,导入opencv库;

import cv2

然后,读取需要检测的图片;

path = '路径'
img = cv2.imread(path)

接着,定义检测函数;

def detect(img):
    #在cv2库目录下有个data文件夹,文件夹中有好多种检测用的xml文件,可以检测身体,脸部,眼睛,鼻子等,根据需要选择一个即可
    face_cascade = cv2.CascadeClassifier('./haarcascade_frontalface_default.xml')
    #灰度化,我们是要在灰度图像上进行检测,用到的是haar特征
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    #检测器开始检测,第一个参数为上面的灰度图。第二个参数是图像金字塔每次放大缩小的比例,第三个参数为在同一位置出现几次才判定为人脸的位置,返回值为检测到的矩形框列表或数组
    faces = face_cascade.detectMultiScale(gray,1.6, 5)
    #画出所有的矩形框
    for (x, y, w, h) in faces:
        img = cv2.rectangle(img,(x,y), (x + w, y + h), (255, 255, 0), 2)

最后,显示出来;

cv2.namedWindow('Face Detect')
cv2.imshow('Face Detect', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

以上就是Python实现人脸检测的全部代码,是不是很简单呢,希望对初学opencv的朋友有所帮助。

如果觉得博主的文章对您有所帮助,记得关注一下呦!您的支持就是我不断更新下去的最强动力。

如有不对的地方请指正,谢谢
有需要深度学习及机器视觉相关开发环境的可加博主QQ获取,有问题请联系下方QQ直接与博主本人交流。博主会定期更新视觉相关算法使用及实际项目讲解,谢谢各位
博主QQ:2021907249

猜你喜欢

转载自blog.csdn.net/qq_41007606/article/details/81950520