【VMware虚拟机中ubuntu系列】—— 在虚拟机中使用本机摄像头的详细教程与常见问题分析及解决

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、虚拟机调用本机摄像头
    • (1) 启动VMware USB 服务
    • (2) 连接本机摄像头
    • (3) 测试摄像头的连接
  • 二、安装usb驱动
  • 二、运行usb_cam.launch时出现select timeout的报错
    • 1.问题描述
    • 2.问题解决


前言

通过配置虚拟机调用本机摄像头,用户可以在虚拟机中直接使用摄像头设备,而不需要额外安装虚拟摄像头设备或者其他插件。这种方法极大地简化了虚拟机与物理设备的交互,使用户能够在虚拟环境中轻松实现视频采集和处理。具体配置步骤通常包括在虚拟机管理软件中(如VMware、VirtualBox等)启用摄像头支持,并将物理摄像头设备映射到虚拟机中。此外,这种方法确保了数据的实时性和传输的稳定性,从而为用户提供了更为流畅和高效的操作体验。

一、虚拟机调用本机摄像头

VMware在默认情况下是没有打开主机摄像头的权限,故虚拟机中的可移动设备那栏,是没有任何关于摄像头接口的信息,如下图所示:

在这里插入图片描述

(1) 启动VMware USB 服务

具体的操作流程:
1.同时按住键盘Win+R打开运行框,
2.输入services.msc并回车,
3.在本机Windows系统中找到VMware USB Arbitration Service服务,将其设置为启动状态

设置的页面,如下图所示:

在这里插入图片描述

启动USB服务之后,以管理员的身份重新打开VMware

(2) 连接本机摄像头

1) 设置与虚拟机的连接
重启之后,虚拟机中的可移动设备一栏出现几个接口如下图所示,操作的步骤:
点击虚拟机(M)——可移动设备(D)——“找到摄像头”——断开与主机的连接,连接虚拟机

在这里插入图片描述

2)将虚拟机的连接接口设置成USB3.0:
点击虚拟机(M)——设置(S)——USB控制器——将USB改成USB3.0

在这里插入图片描述

3)查看是否连接成功
连接后虚拟机的Ubuntu右下角将出现摄像头图标,角标显示为绿色意味着已成功连接主机摄像头。如下图所示:

在这里插入图片描述

(3) 测试摄像头的连接

1)查看设备号

终端输入: ls /dev/video*

2)安装cheese

终端输入:sudo apt install cheese

完成安装后,

终端输入:cheese

即可调出本机的摄像头画面。

二、安装usb驱动

usb摄像头ros驱动的安装主要分为以下步骤:
(1) 下载usb_cam驱动,并创造ros工作空间

下载地址:https://github.com/ros-drivers/usb_cam

(2) 编译安装usb_cam驱动,在工作空间内使用catkin_make进行编译安装

(3) 修改usb_cam驱动的配置文件,将launch文件中的video_device参数值改成自己的设备号

(4) 启动摄像头节点

具体的操作过程可以参考我以下的博客:
【视觉传感器系列1】—— 如何在ubuntu中安装USB相机ros驱动并获取usb摄像头数据

二、运行usb_cam.launch时出现select timeout的报错

1.问题描述

报错的信息如下所示:

[ERROR] [1661421427.042574208]: select timeout
[usb_cam-1] process has died [pid 4965, exit code 1, cmd /home/chen/catkin_ ws/devel/tib/usb_cam/usb_cam_node_name:=usb_cam_log:=/home/chen/.ros/log/3cae771aname:=usb_cam245c-11ed-8ee0-000c29dacecf/usbcam1.log]
file:/home/chen/,ros/log/3cae771a-245c-11ed-8ee0-000c29dacecf/usb_cam1*.log

报错页面如下:

在这里插入图片描述

2.问题解决

原因:
usb接口不兼容导致。
解决:
对于虚拟机:先关机虚拟机里的系统,然后编辑该虚拟机设置,将USB接口改成3.0或3.1,再继续运行虚拟机即可。
具体操作步骤
点击虚拟机(M)——设置(S)——USB控制器——将USB改成USB3.0,如下图所示

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

希捷硬盘怎么恢复数据? 5 个免费希捷数据恢复软件

希捷已迅速成为全球最大的数字存储提供商。许多人选择并使用希捷外置硬盘来存储他们的媒体文件、学校或工作文件以及其他重要数据。有时,希捷硬盘中的数据会丢失。 如果您丢失了希捷硬盘上的数据,请不要惊慌。在专业的希捷数据恢复软件的帮助下&#xf…

【c++进阶(一)】STL之string接口介绍

💓博主CSDN主页:Am心若依旧💓 ⏩专栏分类c从入门到精通⏪ 🚚代码仓库:青酒余成🚚 🌹关注我🫵带你学习更多c   🔝🔝 1.前言 本章重点 本章着重讲解string中一些重要的接口函数&…

SOUI Combobox 实现半透明弹出下拉框

SOUI默认情况下combobox的弹出框不是半透明的&#xff0c;这个时候如果背景透明时&#xff0c;滚动条会出现黑色背景&#xff0c;这个时候只需要在在combobox下添加一个子节点 <dropdownStyle translucent"1"></dropdownStyle> 这样一个窗口默认即实现…

Nature Communications|柔性自驱动仿生眼(离子凝胶/仿生眼/柔性电子)

2024年4月10日,黄维(Wei Huang)院士、南京工业大学刘举庆(Juqing Liu)教授和刘正东(Zhengdong Liu)副教授课题组,在《Nature Communications》上发布了一篇题为“A bionic self-driven retinomorphic eye with ionogel photosynaptic retina”的论文,罗旭(Xu Luo)、陈晨(…

vscode过滤器@modified(查看配置了哪些设置)

文档 visualstudio•docs•getstarted•settingshttps://code.visualstudio.com/docs/getstarted/settings 说明 使用modified可以过滤出&#xff1a; 配置过的设置&#xff08;和默认值不同&#xff09;&#xff1b; 在 settings.json 文件中配置了值的设置 步骤 1.打开…

Golang省市二级联动实现 从数据收集、清洗到数据存储

1.背景&#xff1a; 最近在写项目&#xff0c;在项目中有一个需求是获取用户的地理位置&#xff0c;一开始是打算让前端使用JSON包的形式去实现&#xff0c;但是考虑到后期可能需要对省市的数据做一些修改和控制操作&#xff0c;所以改为后端实现&#xff0c;并向后台暴露一套…

六一去哪儿,跟着蒙自源开启一段关于童年记忆与美味奇妙旅程

夏日微风轻拂&#xff0c;童心随风起舞。在这个充满欢声笑语的季节里&#xff0c;蒙自源诚挚地邀请您和您的家人&#xff0c;一同参加为六一儿童节精心准备的庆祝活动&#xff0c;共同开启一段关于童年记忆与美味的奇妙旅程。 从5月25日起&#xff0c;蒙自源的各大门店将化身为…

Vue3实战笔记(56)—实战:DefineModel的使用方法细节

文章目录 前言一、实战DefineModel二、思考原理总结 前言 今天写个小例子&#xff0c;实战DefineModel的使用方法细节 一、实战DefineModel 上文官方说的挺清楚&#xff0c;实战验证一下&#xff0c;新建DefineModel.vue&#xff08;这是儿子&#xff09;&#xff1a; <te…

mac油猴Safari浏览器插件:Tampermonkey for Mac下载

Tampermonkey 是一款用于浏览器的用户脚本管理器插件&#xff0c;它允许用户安装、管理和运行用户脚本&#xff0c;从而可以自定义网页的功能和外观。该插件支持在谷歌浏览器、火狐浏览器、Safari等主流浏览器上使用。提供了丰富的用户脚本管理和自定义功能&#xff0c;使用户可…

基于小波分析的一维时间序列多重分形分析(MATLAB R2018a)

分形与小波变换在尺度性能上具有很多相似性&#xff0c;因此小波变换被认为是分析、刻画分形现象一个有力的工具。在分析分形的一般方法中&#xff0c;需要按照“盒维数”的计算思想&#xff0c;首先要将研究序列进行不同长度的分割&#xff0c;然后建立起结构函数&#xff0c;…

【人工智能】第一部分:ChatGPT的基本概念和技术背景

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

【因果推断python】10_分组和虚拟变量回归1

目录 分组数据回归 分组数据回归 并非所有数据点都是一样的。 如果我们再次查看我们的 ENEM 数据集&#xff0c;相比小规模学校的分数&#xff0c;我们更相信规模较大的学校的分数。 这并不是说大型学校更好或什么&#xff0c; 而只是因为它们的较大规模意味着更小的方差。 i…

【CVE-2021-3156】——漏洞复现、原理分析以及漏洞修复

文章目录 前言1、漏洞概述2、漏洞复现2.1、漏洞复现测试环境2.2、漏洞复现具体步骤 3、漏洞原理3.1、前置知识3.1.1、sudo3.1.2、sudoedit3.1.3、转义字符 3.2、漏洞分析 4、漏洞修复5、参考文献总结 前言 2021年01月27日&#xff0c;RedHat官方发布了Sudo缓冲区/栈溢出漏洞的风…

数据中台设计方案(原版word获取)

通过中台建设实现企业能力复用&#xff0c;包括能力整合、业务创新、业务和数据闭环、组织模式演进等。 数字能力整合 企业的数字能力一般包括数字化营销、数字化产品、数字化供应链、数字化生产、数字化运营等。企业的数字化能力的充分利用&#xff0c;从而达到可持续发展。数…

vscode设置编辑器文件自动保存

步骤 1.打开vscode的设置 2.在搜索栏输入关键字“保存”&#xff1b; 在 Files: Auto Save 设置项&#xff0c;选择自动保存的模式

Java——处理键盘输入

在Java中&#xff0c;可以使用多种方式来处理键盘输入。最常用的一种方法是使用 Scanner 类&#xff0c;它位于 java.util 包中。 一、使用 Scanner 类处理键盘输入 1、具体操作步骤 1&#xff09;导入 Scanner 类 在开始编写代码之前&#xff0c;需要导入 java.util.Scann…

【LeetCode:575. 分糖果+ 哈希表】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

基于jeecgboot-vue3的Flowable流程-我的任务(三)

因为这个项目license问题无法开源&#xff0c;更多技术支持与服务请加入我的知识星球。 这一部分主要讲我的任务里的详情&#xff0c;看流程情况 1、主要调用record/index.vue&#xff0c;调用参数如下&#xff1a; /*** 详情*/function handleDetail(record: Recordable) {c…

基于Chisel的FPGA流水灯设计

Chisel流水灯 一、Chisel&#xff08;一&#xff09;什么是Chisel&#xff08;二&#xff09;Chisel能做什么&#xff08;三&#xff09;Chisel的使用&#xff08;四&#xff09;Chisel的优缺点1.优点2.缺点 二、流水灯设计 一、Chisel &#xff08;一&#xff09;什么是Chise…

MySQL事务与MVCC

文章目录 事务和事务的隔离级别1.为什么需要事务2.事务特性1_原子性&#xff08;atomicity&#xff09;2_一致性&#xff08;consistency&#xff09;3_持久性&#xff08;durability&#xff09;4_隔离性&#xff08;isolation&#xff09; 3.事务并发引发的问题1_脏读2_不可重…