当前位置: 首页 > news >正文

vm 虚拟机无法调用摄像头(亲测有效)

--

  • 前言
  • 1 报错说明
    • 1.1 opencv调用摄像头失败,画面窗口无法显示
    • 1.2 选择连接摄像头出现失败:桌面右下角出现【USB 设备“Acer Integrated RGB Camera"的连接失败】
      • 连接摄像头方法
  • 2 解决方法
    • 步骤一
    • 步骤二
    • 步骤三
  • 补充

前言

网上找的很多方法都是无效的,只有一篇文章是对我有效的,CSDN的文章:ubuntu18虚拟机连接usb摄像头连接失败,驱动错误解决办法,非常感谢这个博主。

主要解决方法:打开设备管理器,在vm连接摄像头的时候,对【通用串行总线控制器】进行【扫描检测硬件改动(A)】,即可发现多了一个【VMware USB Device】且保持不变,即可以解决报错。

1 报错说明

1.1 opencv调用摄像头失败,画面窗口无法显示

在这里插入图片描述
终端输出显示

xucg@xucg-vm17:~/dev_ws$ ros2 run learning_node node_object_webcam 
[INFO] [1724301196.539635769] [node_object_webcam]: ROS2节点示例:检测图像中的苹果
[ WARN:0] global ./modules/videoio/src/cap_gstreamer.cpp (2075) handleMessage OpenCV | GStreamer warning: Embedded video playback halted; module v4l2src0 reported: Cannot identify device '/dev/video0'.
[ WARN:0] global ./modules/videoio/src/cap_gstreamer.cpp (1053) open OpenCV | GStreamer warning: unable to start pipeline
[ WARN:0] global ./modules/videoio/src/cap_gstreamer.cpp (616) isPipelinePlaying OpenCV | GStreamer warning: GStreamer: pipeline have not been created
[ WARN:0] global ./modules/videoio/src/cap_v4l.cpp (890) open VIDEOIO(V4L2:/dev/video0): can't open camera by index

1.2 选择连接摄像头出现失败:桌面右下角出现【USB 设备“Acer Integrated RGB Camera"的连接失败】

在这里插入图片描述

连接摄像头方法

  1. 【虚拟机】>【可移动设备】>【电脑摄像头型号】>【连接(断开与主机的连接)(C)】

在这里插入图片描述

  1. 点击右下角【摄像头图标】也可以进行摄像头连接

在这里插入图片描述

2 解决方法

步骤一

上方菜单【虚拟机】>【管理】>【USB控制器】>【USB兼容性】>【确认】

这时会虚拟机会卡一下,进行重新加载,等待加载完成即可

在这里插入图片描述

步骤二

参考上面的【连接摄像头的方法】,连接过程大概需要10几秒,同时打开【设备管理器】,找到【通用串行总线控制器】,右键选择【扫描检测硬件改动(A)】,等扫描结束,可发现多了一个【VMware USB Device】且保持不变,且桌面右下角的【摄像头图标】保持高亮,即是摄像头可以正常使用。

在这里插入图片描述

在这里插入图片描述

步骤三

安装chese软件进行摄像头查看

sudo apt-get install cheese
cheese

在这里插入图片描述

补充

这些命令主要是用于查看关于摄像头设备的信息和操作。它们的功能如下:

列出所有符合 /dev/video* 模式的视频设备文件,这些文件通常代表着系统中的摄像头设备。

ls /dev/video*

列出PCI设备信息,并使用grep命令过滤出包含"camera"关键词的行,以显示与摄像头相关的PCI设备信息。

lspci | grep -i camera

列出USB设备信息,并使用grep命令过滤出包含"camera"关键词的行,以显示与摄像头相关的USB设备信息。

lsusb | grep -i camera

列出所有/dev/video*模式的视频设备文件,并按照时间顺序从旧到新进行排序,以及以易读的格式展示文件大小。

ls -ltrh /dev/video*

显示当前正在使用 /dev/video0 设备(摄像头0)的进程信息。

sudo lsof /dev/video0

使用 v4l2-ctl 命令来显示 /dev/video0 设备(摄像头0)的所有控制项和设置。

sudo apt install v4l-utils
v4l2-ctl -d  /dev/video0 --all
# 查看摄像头信息
v4l2-ctl --list-devices #列出系统上可用的视频设备。
v4l2-ctl -d /dev/video0 --list-formats-ext #列出特定设备支持的视频格式。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 如何将TRIZ技术融入到智能家居的产品设计流程中?
  • 如何优化企业网站的索引情况?
  • [Spring] Spring原理(SpringBoot完结)
  • 普元EOS-数据实体、SDO接口和实现类、DataObject都是什么?
  • 迁移学习代码复现
  • 详讲C#中如何存储当前项目的设置-超级简单省事
  • CSS详知识点——CSS变形
  • 设计模式 - 创建者模式(第四章)
  • MySQL列表分区分区表
  • 什么是零拷贝?以及数据在内存中的流动途径
  • 十三、OpenCVSharp的目标检测
  • 「入选文章」腾讯云AI代码助手 | AI助力,从零基础开发一个vscode插件
  • NGINX 之 location 匹配优先级
  • cdr工具介绍之刻刀工具
  • 重磅!RISC-V+OpenHarmony平板电脑发布
  • angular2 简述
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • java正则表式的使用
  • jquery cookie
  • JS题目及答案整理
  • node入门
  • PAT A1017 优先队列
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • spring学习第二天
  • tweak 支持第三方库
  • Vue学习第二天
  • vue学习系列(二)vue-cli
  • 猴子数据域名防封接口降低小说被封的风险
  • 排序算法之--选择排序
  • 前端攻城师
  • 什么软件可以剪辑音乐?
  • 学习HTTP相关知识笔记
  • RDS-Mysql 物理备份恢复到本地数据库上
  • ​Linux·i2c驱动架构​
  • ​linux启动进程的方式
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (1)常见O(n^2)排序算法解析
  • (C++二叉树05) 合并二叉树 二叉搜索树中的搜索 验证二叉搜索树
  • (Java入门)学生管理系统
  • (leetcode学习)236. 二叉树的最近公共祖先
  • (Python) SOAP Web Service (HTTP POST)
  • (SERIES12)DM性能优化
  • (阿里云万网)-域名注册购买实名流程
  • (二)PySpark3:SparkSQL编程
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (算法)Game
  • (限时免费)震惊!流落人间的haproxy宝典被找到了!一切玄妙尽在此处!
  • (转)Linq学习笔记
  • .a文件和.so文件
  • .net core docker部署教程和细节问题
  • .net core 管理用户机密
  • .net FrameWork简介,数组,枚举
  • .netcore 如何获取系统中所有session_如何把百度推广中获取的线索(基木鱼,电话,百度商桥等)同步到企业微信或者企业CRM等企业营销系统中...
  • .NET的数据绑定