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

news2024/11/25 0:10:01

--

  • 前言
  • 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 #列出特定设备支持的视频格式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2063691.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024年游泳耳机哪个牌子好?四大热门游泳耳机多维测评盘点!

游泳不仅是夏日里最受欢迎的消暑方式,也是全年无休的一项全身性运动。在水中畅游时,若能伴随着喜爱的音乐,无疑能让体验更上一层楼。近年来,随着骨传导技术和防水材料的进步,游泳耳机已经成为许多游泳爱好者的必备装备…

网络编程,网络协议,UDP编程

网络: 1.协议:通信双方约定的一套标准 2.国际网络通信协议标准: 1.OSI协议: 应用层 发送的数据内容 表示层 数据是否加密 会话层 是否建立会话连接 传输层 …

electron仿微信,新建贴合窗口

说明 在写electron项目时,只有一个主窗口不足以满足需求,我们通常还会打开很多个窗口。 怎么打开一个子窗口像微信的聊天界面一样,全贴合在一起,看起来像一个整体呢: 分析 这个窗口有点像element ui中的抽屉(drawe…

回归预测|基于北方苍鹰优化NGO-Transformer-BiLSTM组合模型的数据预测Matlab程序多特征输入单输出

回归预测|基于北方苍鹰优化NGO-Transformer-BiLSTM组合模型的数据预测Matlab程序多特征输入单输出 文章目录 前言回归预测|基于北方苍鹰优化NGO-Transformer-BiLSTM组合模型的数据预测Matlab程序多特征输入单输出 一、NGO-Transformer-BiLSTM模型回归预测:NGO-Trans…

VUE学习笔记 2

条件渲染 v-if : 若不频繁切换,会删除DOM节点,再重复添加; template只能配合v-if v-show: 适用于频繁切换,动态变换但不删除DOM节点 列表渲染 方式: v-for"p in person" :key"yyy" 遍历数组…

详讲C#中如何存储当前项目的设置-超级简单省事

我们在编写软件的时候总有一些配置数据需要保存,比如用户选择的偏好设置,又如软件所用到的数据库文件等。我们有很多中方式都可以保存,比如直接保存在某个文本文件,或者ini文件中,其实最简单的办法是保存在项目的资源文…

File的常见成员方法(创建,删除)

一.File的常见成员方法(创建,删除): 二.方法的代码实现: 1.createNewFile方法->创建一个新的空的文件: 如上图直接调用createNewFile方法会报错,处理方案如下: 本例选择第一个&a…

Kotlin OpenCV 图像图像51图片轮廓获取

Kotlin OpenCV 图像图像51图片轮廓获取 在OpenCV库中,Imgproc.adaptiveThreshold、Imgproc.findContours 和 Imgproc.boundingRect 这三个方法在图像处理和分析中非常有用。以下是它们的详细作用: Imgproc.adaptiveThreshold解释作用该方法用于将灰度图…

工业排污检测算法的算法样本及工业排污检测的源码展示

工业排污检测算法是一种结合了先进人工智能、图像识别、声音识别、数据分析等技术的解决方案,专门用于实时监测和评估工业排放的污染物。这种算法在环境保护、合规管理、数据支持等方面具有显著的优势,并且可以广泛应用于各种工业场景。 主要作用 1、实…

宝塔面板本地搭建Typecho博客结合内网穿透实现远程访问本地站点

文章目录 前言1. 安装环境2. 下载Typecho3. 创建站点4. 访问Typecho5. 安装cpolar6. 远程访问Typecho7. 固定远程访问地址8. 配置typecho 前言 本文主要介绍如何通过Linux centOS8宝塔面板工具,本地搭建一个Typecho个人博客网站。并结合cpolar内网穿透工具配置公网…

关于Arrays.asList返回List无法新增和删除?

这个是在写项目的时候发现的&#xff0c;然后就分析了一下源码&#xff0c;得其内部原理 复现代码示例&#xff1a; public class ArraysAsList {public static void main(String[] args) {Integer[] array {1, 2, 3, 4, 5};List<Integer> list Arrays.asList(array);…

html+css+js网页制作 电商小米商城7个页面

htmlcssjs网页制作 电商小米商城7个页面 ui还原度百分之99 网页作品代码简单&#xff0c;可使用任意HTML编辑软件&#xff08;如&#xff1a;Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作&#xff09;。 …

uniapp/uniapp x总结

uni-app组成和跨端原理 上图所诉 App的渲染引擎&#xff1a;同时提供了2套渲染引擎&#xff0c;.vue页面文件由webview渲染&#xff0c;原理与小程序相同&#xff1b;.nvue页面文件由原生渲染&#xff0c;原理与react native相同。开发者可以根据需要自主选择渲染引擎。 uniapp…

STM32f407 网络接收 fpga 的 bin 文件并更新到 fpga series7(2)

STM32f407 网络接收 fpga 的 bin 文件并更新到 fpga series7(2) 简介 实验 2&#xff1a;在单片机搭建好 tcp 服务器后&#xff0c;编写传送文件的上位机。 整体实现 - 利用qt的tcpsocket简单封装 - 每次发送512字节&#xff0c;这样小的tcp包就不会自动分包。保证每一个51…

多商户商品下单限购问题修复

问题: 当商品设置限购为 1 时,够买数量未超过限购,但是还是提示超出限购数量 修复方法: 修改代码路径: app\common\repositories\store\order\StoreOrderCreateRepository.php 修改代码一: i s p a y s a r r a y u n i q u e ( a r r a y c o l u m n ( is_pays array_un…

阿里一款非常不错的多级缓存框架如何使用?

目录 前言 1. jetcache简介 2. jetcache使用 2. jetcache使用 3. 测试 3.1 方式一测试 3.2 方式二测试 3.3 方式三测试 4.缺点优点 5. 常见报错 前言 大家好&#xff0c;我是月夜枫~~ 在很多大数据、高并发的业务中&#xff0c;像MySql等传统的关系型数据库已经不能适用…

C++ 设计模式(3. 抽象工厂模式)

抽象工厂模式也是一种创建型设计模式&#xff0c;提供了一个创建一系列相关或相互依赖对象的接口&#xff0c;而无需指定它们具体的类【引用自大话设计模式第15章】基本结构 抽象工厂模式包含多个抽象产品接口&#xff0c;多个具体产品类&#xff0c;一个抽象工厂接口和多个具体…

BMC下使用KVM远程启动java被阻止解决方案

Java程序被阻止 进笔记本控制面板-Java里 安全里把BMC IP地址添加进去 -------------------------------------------- “如有侵权&#xff0c;联系删除”

【2024版】最新JDK下载和安装=保姆级教程,Java环境配置和使用指南,收藏这一篇就够了

大纲 JDK介绍 JDK下载 在线下载 离线下载 JDK安装 验证安装 JDK介绍 JDK&#xff08;Java Development Kit&#xff09;是用于开发Java应用程序的软件开发工具包。它包括&#xff1a;Java虚拟机&#xff08;JVM&#xff09;、Java类库以及其他一些用于开发Java应用程序的工具…

uniapp 获取定位权限及问题解决

目录 步骤一&#xff1a;在manifest.json中配置步骤二&#xff1a;引用文件可多页面复用的处理逻辑代码注意&#xff1a;问题处理&#xff08;1&#xff09;报错信息1&#xff1a;getLocation:fail the api need to be declared in the requiredPrivateInfos fie&#xff08;2&…