ubuntu上python使用opencv调用usb摄像头无故掉线以后重连摄像头。
项目中使用opencv调用usb摄像头,运行过程中,会出现摄像头掉线的情况。猜测掉线原因是硬件相关,可能是摄像头,也可能是usb线和端口。
这里主要介绍两种掉线情况以及代码重连摄像头的方式。
1.第一种情况,设备在线
当camera读取图片失败时候,可以通过opencv的方法,释放摄像头再打开
camera.release()
camera = cv.VideoCapture(0)
2.第二种情况,设备不在线
video4 和 video5掉线,实际上usb还连着电脑。
碰到这种情况,可以先查看当前usb所在的上级hub。
lsusb -t
比如摄像头所在的BUS 01,Port 2
ll /sys/bus/usb/devices
查看usb的上一级。
然后通过命令行将其重置,需要root权限。
echo -n "0000:00:14.0" | tee /sys/bus/pci/drivers/xhci_hcd/unbind
echo -n "0000:00:14.0" | tee /sys/bus/pci/drivers/xhci_hcd/bind
也可以用python代码重置
def resetUsbHub(key, hub):result = os.system('echo "{}"|sudo -S sh ./usbUnbind.sh {}'.format(key, hub))logger.info("卸载usb结果:{}".format(result))if result == 0:result = os.system('echo "{}"|sudo -S sh ./usbBind.sh {}'.format(key, hub))logger.info("加载usb结果:{}".format(result))
sh文件内容
echo $1|sudo tee /sys/bus/pci/drivers/xhci_hcd/unbind
重置以后就可以发现又能找到video4 和 video5。后续就继续通过opencv 打开摄像头就行了。
ubuntu上python使用opencv调用usb摄像头无故掉线以后重连摄像头。相关推荐
- 讯为iTOP4412开发板ARM-linux 使用OPENCV调用USB摄像头
讯为iTOP4412开发板ARM-linux 使用OPENCV调用USB摄像头 首先要在内核里面确定有添加USB摄像头的驱动,这个在讯为官方文档里面有所以就不展开讲了. 主要问题是如何让opencv能 ...
- 五十、opencv调用USB摄像头并保存图片
@Author: Runsen opencv OpenCV是计算机视觉的一个模块. OpenCV可以通过图像处理减少图像噪声,调整图像亮度.颜色或者对比度等等.想要进一步系统了解OpenCV图像处理基 ...
- 在Ubuntu中用Qt基于OpenCV调用大恒相机
在Ubuntu中用Qt基于OpenCV调用大恒相机 前言 视觉萌新买了工业相机却不会用,上网也查不到具体方法,没办法只能自己硬刚了.刚开始自己摸索,碰到好多问题解决不了,Qt报错不知道咋回事,缺少的链 ...
- Ubuntu上python打包为可执行文件方法
一.Ubuntu上python打包为可执行文件(包含pyecharts) python文件打包有很多方法,本文介绍重点介绍的是pyinstaller方法,本文也是记录自己在ubuntu上打包踩的坑! ...
- python基于opencv的人脸检测(有最详细的注释)摄像头实时检测人脸
主要实现功能: 通过opencv的模块的内置的方法打开电脑摄像头,读取每一帧数据进行分析.通过界面的方式在界面里实时更新摄像头视频并且标记出人脸. 效果图: 代码: 这部分代码可以用来检测opencv ...
- python利用OpenCV调用海康威视摄像头--利用wifi路由器提供网
部署环境 由于实验室只有无线网没有有线网,在这里依靠wifi路由器做出一个有线网. wifi路由器根据wifi配置有线网 ip 192.168.113.17 掩码 255.255.255.0 网关19 ...
- matlab识别不出linux链接,在Ubuntu上,从matlab调用外部脚本失败_linux_开发99编程知识库...
我搜索了很多次,但没有解决这个问题. 我使用系统( )/unix ( ) 从matlab调用外部 R 脚本,并找到共享库的mis加载. 我知道在matlab中环境是错误的. 我还尝试在xterm或者g ...
- ubuntu下使用命令行调用USB热敏票据打印机
Linux下通过USB端口进行打印票据或者其它打印,某些时候我们需要检测打印机是否正常工作,在没有安装驱动程序的情况下,我们也可以通过命令行执行打印操作,如果命令行可以正常打印,表明打印机和Linux ...
- ubuntu上python编辑器_Ubuntu中安装python编辑器Ulipad
由于在Windows中使用Ulipad一段时间了,尤其对于Python代码的编辑功能,我觉得目前还没有一款别的编辑器能与之媲美(当然Ulipad也有美中不足的地方).下面介绍一下在Linux下Ulip ...
最新文章
- angularJs 跨控制器与跨页面传值
- [转] CMake入门
- 将Session写入Memcache
- 847. Shortest Path Visiting All Nodes(一)
- 自然语言处理的未来之路(周明老师,CCF-GRIR,笔记)
- Mastering Unity 2D Game Development
- Excel转html
- 双系统下Mac可以这样卸载windows系统
- C++类头文件交叉引用出现error C2143: 语法错误: 缺少“
- 使用ARKit编码测量应用程序:对象和阴影
- Qt 确认对话框(确定/取消)
- Flink源码篇,作业提交流程、作业调度流程、作业内部转换流程图
- YUV转RGB(Android)
- DirectX9 10 11对比区别摘抄整理
- pfx证书导入方式,步骤流程
- Linux两台主机之间建立信任关系
- openstack COA 考试模拟题
- windows vs2022 c/c++连接操作postgresql数据库 - 增删改查
- 【历史上的今天】3 月 24 日:苹果推出 Mac OS X;微软前任 CEO 出生;Spring 1.0 正式发布
- UDDi注册中心的实现
热门文章
- Android夜间模式最佳实践
- 爱立信、高通和韩国SK电讯宣布将合作开展5G NR测试
- 包(package)是什么?
- ubuntu 软件包管理
- android和ios占有率2018,微博发布2018手机报告:苹果依旧为占有率最高品牌
- Kafka+zookeeper集群搭建
- signature=dedda52028ba9cc6699359258f4ed5db,Нужны ли антибиотики при интравитреальных инъекциях?...
- python用folium绘制地图并设置弹窗
- BootStrap-Table分页参数传不到后台,后台接收分页参数为null
- ChatGPT还在2G冲浪?新模型「youChat」:我已能够解说2022世界杯