马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 宋恺 于 2020-8-10 17:22 编辑
此程序需要安装opencv
可以直接在cmd中输入:pip install opencv-python
但因为服务器在国外,所以会很慢,建议在cmd中输入:python -m pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
一劳永逸的办法:
https://fishc.com.cn/thread-143635-1-1.html
代码:import cv2
def CatchUsbVideo(window_name):
cv2.namedWindow(window_name)
#视频来源,来自USB摄像头
cap = cv2.VideoCapture(0)
#告诉OpenCV使用人脸识别分类器
classfier = cv2.CascadeClassifier(r"E:\python\Lib\site-packages\cv2\data\haarcascade_frontalface_default.xml")#文件haarcascade_frontalface_default.xml的路径
#识别出人脸后要画的边框的颜色,RGB格式
color = (0, 255, 0)
while cap.isOpened():
ok, frame = cap.read() #读取一帧数据
if not ok:
break #将当前帧转换成灰度图像
grey = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
#人脸检测,1.2和2分别为图片缩放比例和需要检测的有效点数
faceRects = classfier.detectMultiScale(grey, scaleFactor = 1.2, minNeighbors = 5, minSize = (32, 32))
if len(faceRects) > 0: #大于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)
#释放摄像头
cap.release()
cv2.destroyAllWindows()
CatchUsbVideo("")
关于haarcascade_frontalface_default.xml文件的路径,请改为你自己电脑的路径,此文件在:
安装python的盘\安装python的文件夹\Lib\site-packages\cv2\data\haarcascade_frontalface_default.xml
|