代码拉取完成,页面将自动刷新
import cv2
cap = cv2.VideoCapture(0) # 开启摄像头
# 循环读取图像
while True:
ok, img = cap.read() # 读取摄像头图像
if ok is False:
print('无法读取到摄像头!')
break
faceImg = img
gray = cv2.cvtColor(faceImg,cv2.COLOR_BGR2GRAY)
# 加载人脸识别分类器
# 官方已有的分类器 https://github.com/opencv/opencv/tree/master/data/haarcascades
# github的不好下载, 可以从码云上找
# Python\Python38-32\Lib\site-packages\cv2\data 这个目录下也有
classifier = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
color = (0,255,0)
# 识别器进行识别
faceRects = classifier.detectMultiScale(gray,scaleFactor=1.2,minNeighbors=3,minSize=(32, 32))
if len(faceRects):
for faceRect in faceRects:
x,y,w,h = faceRect
# 框选出人脸 最后一个参数2是框线宽度
cv2.rectangle(faceImg,(x, y), (x + h, y + w), color, 2)
# 转换灰色
# gray = cv2.cvtColor(faceImg,cv2.COLOR_BGR2GRAY)
#
# # 加载人脸识别分类器
# # 官方已有的分类器 https://github.com/opencv/opencv/tree/master/data/haarcascades
# # github的不好下载, 可以从码云上找
# # Python\Python38-32\Lib\site-packages\cv2\data 这个目录下也有
# classifier = cv2.CascadeClassifier('haarcascade_eye.xml')
# color = (255,0,0)
#
# # 识别器进行识别
# faceRects = classifier.detectMultiScale(gray,scaleFactor=1.2,minNeighbors=3,minSize=(32, 32))
#
# if len(faceRects):
# for faceRect in faceRects:
# x,y,w,h = faceRect
# # 框选出人脸 最后一个参数2是框线宽度
# cv2.rectangle(faceImg,(x, y), (x + h, y + w), color, 2)
cv2.imshow("faceImg",faceImg)
# 展示图像
k = cv2.waitKey(10) # 键盘值
if k == 27: # 通过esc键退出摄像
break
# 关闭摄像头
cap.release()
cv2.destroyAllWindows()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。