我将分享一个完整的项目,从基础库安装到人脸识别,做一个可视化的界面。
1、opencv-python安装
要调用电脑摄像头得安装在python种安装opencv库;使用
pip install opencv-python #用于安装opencv库
2、代码调用电脑摄像头
安装成功后我们就可以使用opencv库打开笔记本摄像头,调用完成摄像头后,我们要逐帧显示,这里我们就要用到while函数不断显示摄像头获取的每一帧图像,使用cap.isOpened()判断摄像头开启就不断循环,代码演示如下:
import cv2#调用摄像头# VideoCapture的参数是指调用电脑那个摄像头,笔记本电脑一般默认为0cap=cv2.VideoCapture(0)while cap.isOpened():#读取视频ret,frame=cap.read()#第一个ret 为True 或者False,代表有没有读取到图片#第二个frame表示截取到一帧的图片frame=cv2.flip(frame,flipCode=1)#判读是否按下q键,按下q键关闭摄像头;if cv2.waitKey(30)&0xff==ord('q'):break#显示画面cv2.imshow('face',frame)#释放摄像头cap.release()#销毁窗口cv2.destroyAllWindows()
cv2.VideoCapture()设置不同参数可以调用不同摄像头,笔记本电脑一般都是默认为0,还可以打开本地视频,将本地视频地址放进去就可以了。
可以通过cap.get(propId)来查看视频相关参数信息。propId范围是0到18之间的整数,不同的数值表示不同属性,自己可以尝试一下。如果感觉人脸视频窗口很小可以使用cap.set(propId,value)来设置窗口大小,cap.get(3)和cap.get(4)来查看每一帧画面的宽和高,默认是640x480。我们可以使用ret=cap.set(3,1080)和ret = cap.set(4,720)来把宽和高改成1080*720。数字5帧速率,7是返回帧数。我就介绍这这个数字。
代码中的cv2.file()是进行画面翻转的,里面需要给定两个参数,
cv2.flip(filename, flipcode)
第一个参数filename:是需要翻转的画面,第二个参数flipcode:表示翻转的方式,
接下来我们看看获取出来的摄像头画面图片有点模糊一是摄像头像素低二是GIF图片被压缩过。
下一张文章我将分享opencv人脸检测。
我编写的一个opencv人脸识别案例:地址YueXia/Face-opencv - 码云 - 开源中国 ()