opencv python打开摄像头,
这篇文章主要介绍了大蟒使用中文版打开笔记本电脑摄像头报错解问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
目录
使用中文版打开笔记本电脑摄像头报错中文版打开摄像头报错问题
使用Opencv打开笔记本电脑摄像头报错
近期要做一个下位机上发图像数据给上位机的任务,调试时自己写了一个客户端获取笔记本电脑的摄像头视频数据传输给服务器,然后服务器端显示摄像头视频数据。结果运行时发现客户端报错,视频窗口闪退。
一般获取摄像头图像数据的代码如下:
捕捉=cv .视频捕获(0)
但是运行会报错如下:
[warn :0]global c : Users app veyor AppData Local Temp 1 pip-req-build-52 irelq opencv modules video io src cap _ msmf。CPP(677)cv捕获_ msmf 3360: initstream无法设置mediaType (stream 0,(640x480 @ 30) MFVideoFormat_RGB24(未找到编解码器)
网上搜索了一下后发现只要对上述代码稍作修改即可
# 建立图像读取对象
捕捉=cv .视频捕获(0,cv .CAP_DSHOW) #更改应用程序界面设置
此处0代表笔记本自带的摄像头,如果有外接摄像头则可以选填1、2等。
Opencv打开摄像头报错问题
cv capture _ msmf :初始化流无法设置媒体类型(流0,(640x480 @ 30)
cap=cv2 .视频捕获(0,cv2 .CAP_DSHOW)
枚举视频捕获应用程序{
CAP_ANY=0,//!自动检测==0
美国海外退伍军人(Veterans of Foreign Wars)帽=200,//!Windows操作系统视频(过时,已删除)
CAP_V4L=200,//!V4L/V4L2捕捉支持
CAP_V4L2=CAP_V4L,//!与CAP_V4L相同
CAP_FIREWIRE=300,//!IEEE 1394驱动程序
CAP_FIREWARE=CAP_FIREWIRE,//!与CAP _火线的值相同
CAP_IEEE1394=CAP_FIREWIRE,//!与CAP _火线的值相同
CAP_DC1394=CAP_FIREWIRE,//!与CAP _火线的值相同
CAP_CMU1394=CAP_FIREWIRE,//!与CAP _火线的值相同
CAP_QT=500,//!QuickTime(过时,已移除)
CAP_UNICAP=600,//!体外抗原驱动程序(过时,已删除)
CAP_DSHOW=700,//!直播(通过视频输入)
CAP_PVAPI=800,//!PvAPI,Prosilica GigE SDK
CAP_OPENNI=900,//!OpenNI(用于Kinect)
CAP_OPENNI_ASUS=910,//!OpenNI(适用于华硕Xtion)
CAP_ANDROID=1000,//!安卓-未使用
CAP_XIAPI=1100,//!希梅阿摄像机应用程序界面
CAP_AVFOUNDATION=1200,//!苹果手机操作(iOS:iPhone OS的缩写)的AVFoundation框架(OS X雄狮将拥有相同的API)
CAP_GIGANETIX=1300,//!Smartek Giganetix GigEVisionSDK
MSMF帽=1400,//!微软媒体基金会(通过视频输入)
CAP_WINRT=1410,//!使用媒体基础的微软视窗软件运行时
CAP_INTELPERC=1500,//!真实感觉(前英特尔感知计算软件开发套件)
CAP_REALSENSE=1500,//!CAP_INTELPERC的同义词
CAP_OPENNI2=1600,//!OpenNI2(用于Kinect)
CAP_OPENNI2_ASUS=1610,//!OpenNI2(用于华硕Xtion和枕骨结构传感器)
CAP_GPHOTO2=1700,//!g照片2连接
CAP_GSTREAMER=1800,//!GStreamer
CAP_FFMPEG=1900,//!使用工具库打开和录制视频文件或流
CAP_IMAGES=2000,//!开放计算机视觉图像序列(例如img_d.jpg)
CAP_ARAVIS=2100,//!Aravis SDK
CAP_OPENCV_MJPEG=2200,//!内置OpenCV运动JPEG编解码器
MFX=2300//!英特尔MediaSDK
CAP_XINE=2400,//!辛纳引擎(Linux)
};
附查看摄像头下标:
导入cv2
ID=0
而(1):
cap=cv2。视频捕获(ID,cv2。CAP_DSHOW)
#拿个相框
ret,frame=cap.read()
如果ret==False:
ID=1
else:
打印(ID)
破裂
以上个人经验,希望给你一个参考,也希望你能支持盛行的IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。