opencv调用电脑内置摄像头基本操作及相关问题解析

您所在的位置:网站首页 电脑摄像头怎么关闭镜像模式设置视频播放不了 opencv调用电脑内置摄像头基本操作及相关问题解析

opencv调用电脑内置摄像头基本操作及相关问题解析

2024-07-13 11:13| 来源: 网络整理| 查看: 265

0 引言

调用电脑内置摄像头的原理与上一节的图片读取原理一致,此次是在短时间内读取多个帧(图片),达到视频读取的效果。详细操作如下:

1 先打开电脑内置摄像头,并且给它取个名字。

函数为:cv.VideoCapture(0)。capture意为俘获,video意为录像,加在一起即为捕获录像。例:

cap=cv.VideoCapture(0)

当该函数的参数为0时,即为调用本电脑的摄像头;参数为某一视频地址时,则为读取打开该视频。

2 检查摄像头是否正常运行

函数为cap.isOpened(),该函数在读取的摄像头cap下,执行判断程序:is opened?并返回布尔值。此处可以用if选择语句来检查:

if not cap.isOpened(): print('Cannot open camera') exit() while True: // 后续可以接上执行语句 3 开始捕获逐帧图片

函数为:ret,frame=cap.read(),该函数将返回两个参数:ret、frame;ret返回值为布尔值,用于检测图片捕获是否正确、frame返回值为三维矩阵,即为每一帧的图像。例:

ret,frame=cap.read() 4 通过上述返回的ret值,判断图片读取是否正确

该操作主要为直接通过返回的ret值判断,直接使用if判断句即可:

if not ret: print('Cannot receive frame . Exiting...') break 5 将读取到的逐帧图片转换为灰度色彩空间,并在窗口显示

此处使用到一种函数cv.cvtColor(frame,cv.COLOR_BGR2GRAY),其中cv.cvtColor意为转变色彩空间(有关opencv的色彩空间相关知识,可以戳https://www.cnblogs.com/feifanrensheng/p/9132031.html,里面有较为详细的讲解)。其中两个参数分别为转换对象名称与色彩转换的种类:BGR2GRAY意为BGR to GRAY,即3通道BGR色彩空间,转换为1通道GRAY色彩空间。 完成色彩转换后,直接使用上一节的函数cv.imshow()函数即可显示视频: 注:下面代码中**new_gray=cv.flip(gray, 1)**只是为了将视频镜像,更为好看,使用的函数,不在该节的展示中,有兴趣的朋友可以自行搜索学习。

gray=cv.cvtColor(frame,cv.COLOR_BGR2GRAY) new_gray=cv.flip(gray, 1) cv.imshow("frame",new_gray) 6 完成操作释放所有捕获的摄像头,关闭所有窗口

结束工作后,需要记得释放捕获的硬件:

cap.release() cv.destroyAllWindows() 7 附:键盘相关操作

该部分为博主学习过程中对于cv.waitKey()函数相关操作的理解: 该函数括号中只有一个参数,当参数大于0时,意为需等待用户的操作时间,若在此期间,用户操作程序中对应按键,则语句立即结束,执行后续的程序,反之,如果期间用户没操作,括号中的参数对应时间(ms)到了后,同样结束语句,执行后续程序;当参数等于0时,意为无限时间等待用户操作,直到用户操作后,才开始执行后续语句。例:

cv.waitKey(1)==ord('q') //等待时间为1ms、用户可操作按钮为q(其中ord()是读取字符‘q’的ASCII码的函数) 8 附上整体程序代码 import numpy as np import cv2 as cv cap=cv.VideoCapture(0) if not cap.isOpened(): print('Cannot open camera') exit() while True: ret,frame=cap.read() if not ret: print('Cannot receive frame . Exiting...') break gray=cv.cvtColor(frame,cv.COLOR_BGR2GRAY) new_gray=cv.flip(gray, 1) cv.imshow("frame",new_gray) if cv.waitKey(1)& 0xFF==ord('q'): break cap.release() cv.destroyAllWindows()


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3