调用电脑的摄像头来职别人脸区域 按q键退出该识别程序
import cv2
import sys
def CatchUsbVideo(window_name
, camera_idx
):
cv2
.namedWindow
(window_name
)
cap
= cv2
.VideoCapture
(camera_idx
)
classfier
= cv2
.CascadeClassifier
("haarcascade_frontalface_default.xml")
color
= (0, 255, 0)
while cap
.isOpened
():
ok
, frame
= cap
.read
()
if not ok
:
break
grey
= cv2
.cvtColor
(frame
, cv2
.COLOR_BGR2GRAY
)
faceRects
= classfier
.detectMultiScale
(grey
, scaleFactor
= 1.2, minNeighbors
= 3, minSize
= (32, 32))
if len(faceRects
) > 0:
for faceRect
in faceRects
:
x
, y
, w
, h
= faceRect
cv2
.rectangle
(frame
, (x
- 10, y
- 10), (x
+ w
+ 10, y
+ h
+ 10), color
, 2)
cv2
.imshow
(window_name
, frame
)
c
= cv2
.waitKey
(10)
if c
& 0xFF == ord('q'):
break
cap
.release
()
cv2
.destroyAllWindows
()
if __name__
== '__main__':
if len(sys
.argv
) != 1:
print("Usage:%s camera_id\r\n" % (sys
.argv
[0]))
else:
CatchUsbVideo
("Identify face area", 0)
转载请注明原文地址: https://yun.8miu.com/read-18355.html