一、在Pycharm中安装OpenCV

二、静态图片人脸检测
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36import cv2 as cv def face_detect_demo(): # 图片转灰度 gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY) # 加载特征数据 face_detector = cv.CascadeClassifier( 'D:\SoftWareHouse\opencv\sources\data\haarcascades\haarcascade_frontalface_default.xml') # 参数1:image--待检测图片,一般为灰度图像加快检测速度; # 参数2:objects--被检测物体的矩形框向量组; # 参数3:scaleFactor--表示在前后两次相继的扫描中,搜索窗口的比例系数。默认为1.1即每次搜索窗口依次扩大10%; # 参数4:minNeighbors--表示构成检测目标的相邻矩形的最小个数(默认为3个)。 # 如果组成检测目标的小矩形的个数和小于 min_neighbors - 1 都会被排除。 # 如果min_neighbors 为 0, 则函数不做任何操作就返回所有的被检候选矩形框, # 这种设定值一般用在用户自定义对检测结果的组合程序上; # 参数5:flags--要么使用默认值,要么使用CV_HAAR_DO_CANNY_PRUNING,如果设置为 # # CV_HAAR_DO_CANNY_PRUNING,那么函数将会使用Canny边缘检测来排除边缘过多或过少的区域, # # 因此这些区域通常不会是人脸所在区域; # 参数6、7:minSize和maxSize用来限制得到的目标区域的范围 faces = face_detector.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, maxSize=(100, 100), minSize=(30, 30)) # for x, y, w, h in faces: print(x, y, w, h) cv.rectangle(src, (x, y), (x + w, y + h), color=(255, 0, 0)) # 显示图片 cv.imshow('result', src) # 加载图片 src = cv.imread('face4.jpg') face_detect_demo() cv.waitKey(0) cv.destroyAllWindows()
三、视频中人脸检测
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34import cv2 as cv def face_detect_demo(img): # 图片转灰度 gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY) # 加载特征数据 face_detector = cv.CascadeClassifier( 'D:\SoftWareHouse\opencv\sources\data\haarcascades\haarcascade_frontalface_default.xml') faces = face_detector.detectMultiScale(gray, scaleFactor=1.2, minNeighbors=6) # for x, y, w, h in faces: print(x, y, w, h) cv.rectangle(img, (x, y), (x + w, y + h), color=(0, 0, 255), thickness=2) # 显示图片 cv.imshow('result', img) # 读取视频 video = cv.VideoCapture("video1.mp4") # 调用自己的摄像头 # video = cv.VideoCapture(0) while True: flag, frame = video.read() print(flag, frame.shape) if not flag: break face_detect_demo(frame) if ord('q') == cv.waitKey(10): break cv.destroyAllWindows() video.release()
最后
以上就是默默老师最近收集整理的关于基于OpenCV 的人脸检测一、在Pycharm中安装OpenCV二、静态图片人脸检测三、视频中人脸检测的全部内容,更多相关基于OpenCV内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复