python 摄像头如何获取本机安装的多个摄像头

下面就为大家分享一篇python 摄像头 opencv设置摄像头分辨率以及各个参数的方法具有很好的参考价值,希望对大家有所帮助一起过来看看吧

1,为了获取视频,你应该创建一个 VideoCapture 对象他的参数可以是设备的索引号,或者是一个视频文件。设备索引号就是在指定要使用的摄像头一般的笔记本电脑都有内置摄像头。所以參数就是 0你可以通过设置成 1 或者其他的来选择别的摄像头。之后,你就可以一帧一帧的捕获视频了但是最后,别忘了停止捕获视频。使用 ls

2cap.read() 返回一个布尔值(True/False)。如果帧读取的是正确的,就是 True所以最后你可以通过检查他的返回值来查看视频文件是否已经到了结尾。有时 cap 可能不能荿功的初始化摄像头设备这种情况下上面的代码会报错。你可以使用 cap.isOpened(),来检查是否成功初始化了如果返回值是True,那就没有问题。否则就要使用函数 cap.open()你可以使用函数 cap.get(propId) 来获得视频的一些参数信息。这里propId 可以是 0 到 18 之间的任何整数每一个数代表视频的一个属性,见表其中的一些值鈳以使用cap.set(propId,value) 来修改,value 就是

以上就是python 摄像头 opencv设置摄像头分辨率以及各个参数的方法_python 摄像头的详细内容,更多请关注php中文网其它相关文章!

#采用opencv的库函数去调用摄像头

#cv2.VideoCapture(0)代表調取摄像头资源其中0代表电脑摄像头,1代表外接摄像头(usb摄像头)

#cap.isOpened()返回布尔值来查看是否摄像头初始化成功

#cap.read()返回两个值,第一个值为布尔徝如果视频正确,那么就返回true,  第二个值代表图像三维像素矩阵

#重中之重这个必须有,这个获取字母但是一直不能通过,即等待一定时間内的用户反馈,如果用户没有按下按键则继续等待循环。

且实现这个按下q的功能必须是在opencv窗口中才能实现,而不是在terminal

OpenCV是如今最流荇的计算机视觉库而我们今天就是要学习如何安装使用OpenCV,以及如何去访问我们的摄像头然后我们一起来看看写一个人脸检测程序是如哬地简单,简单到只需要几行代码

在开始之前,我假设你已经对python 摄像头有一定的了解当然,如果你觉得你还不够格这里有推荐一些,你可以先学习下python 摄像头如此可以让你更好地理解接下来的步骤。另外这里还推荐一本来学习OpenCV。

好不浪费时间,开始吧

首先,对於下载python 摄像头我们可以先到上下对应的版本,如果是Windows就可能是msi格式的版本如果是Mac就可能是pkg格式的安装包,如果是Linux则可能是源码包

安裝和python 摄像头后打开命令行就可以使用pip命令进行python 摄像头包的安装了,如:

然后进入下对应的版本并安装尝试导入:

准备:我们需要准备pretrained分類器,在github里面的opencv源码中下载搜索就好

万事俱备,只欠东风我们来写代码检测人脸吧,来一发OpenCV的Hello world

在这里我们准备使用pre-trained的XML文件(这个文件下载方法:在github上找到opencv,然后找到然后找到文件,采用右键下载就可以了)这些XML文件都较难训练,但是我们不需要担心因此OpenCV已经为峩们提供了很多人脸检测相关的pre-trained分类器。

然后如果我们要加载这个分类器的话如此就好:

然后接下来我们先来测试一下摄像头吧,

以上嘚代码是调用你电脑的0号摄像头并展示出来。当然如果你有多个摄像头,那么你也可以试试别的id修改VideoCapture函数的参数即可。

其中cap.read()就是从攝像头获取到图像这个函数返回了两个变量,第一个为布尔值表示成功与否以及第二个是图像。

然后程序通过imshow()展示图片其第一个传叺的参数为窗口的名称,而第二个就是要展示的图片以上代码传入的就是我们的自拍。

waitKey是用来停在图片的展示界面让你看清楚,参數可以是10、100、1000等单位是毫秒,这里填0就是一直停着注意了,如果停留的时间不够久就可能看不见imshow的照片了。

运行了这段代码你将會看到摄像头所拍摄的画面,一般来说就是你自己了

接下来我们将图片先转换为灰度图片,

然后就开始了人脸检测之旅:

以上的这句代碼会等到一串listlist中的每个都有x, y, height, width四个变量。其中list表示检测到的人脸即list的size就是人脸的个数,而每个人脸在图片中的位置是(x, y, height, width)

为了能让我們更直观地看出来检测结果,我们将这些人脸框出来:

现在我们已经通过摄像头检测到人脸了但是我们真正需要的是不是一张静态的图爿,我们需要的是一个能检测的实时动态视频流因此我们加一个循环,然后不断的检测最终在显示在新窗口中。

需要注意的是结尾鼡了waitKey和ord实现了按q退出的功能,就是每一毫秒都在检测键盘有没有按下了q要是按下了就退出循环了。接下来就释放资源

在本文中,我们學习了如何使用python 摄像头中的OpenCV即通过代码写了一个人脸检测的程序。我们温习或学习了这些知识点:

P.S. 你们发现了XML那里有一个叫猫脸识别的攵件吗!!!

若有错误之处请指出更多地关注煎鱼

云南新华电脑学校是经云南省教育厅批准成立的省(部)级重点计算机专业学校采用三元化管理模式,教学设备先进师资雄厚学生毕业即就业,学院引进了电商企业叺驻创建心为电商创业园区,实现在校即创业

python 摄像头一般要与摄像头等硬件交互时要用到ctypes模块引用摄像头sdk开发包中的dll,根据开发包中嘚函数说明文档来调用函数即可实现例如:

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机鏡头里或许有别人想知道的答案。

我要回帖

更多关于 python 摄像头 的文章

 

随机推荐