Linux 摄像头编号固化

news2024/10/7 17:30:58

一、前言

在工业领域,一台设备会有很多个摄像头,可以使用命令:ll /dev/video* 进行查看;

在代码中,如果需要使用摄像头,那么都是需要具体到哪个摄像头编号的,例如 open("/dev/video4");

但是,会出现一种情况,摄像头编号改变了...

例如,/dev/video4,其变成了/dev/vieo5

那么,如果我们代码中继续使用open("/dev/video4");去访问打开,是会失败的,而且可能还会浪费资源...

基于此,我们需要固化摄像头编号,即通过将摄像头信息绑定到一个文件进行映射;然后代码中使用这个映射的文件名,就可以使用到对应的摄像头。

二、操作

以下以我电脑的摄像头为例

当固化后就可以使用命令:ll /dev/tty*  进行查看

可以使用 ffplay  video0 命令查看摄像头内容。

1.需求

使用名字 /dev/ttyFaceVideo 指向 /dev/video0 摄像头;即使用 /dev/ttyFaceVideo,相当于使用 /dev/video0;

2. 查看摄像头信息

命令:udevadm  info  -a  -n  /dev/video0

在终端输入命令后(根据自己的摄像头编号进行更改),会出现很多信息,找到 KERNELS 字段为数字的,就是我们需要的摄像头信息。

然后找到 ATTRS{idVendor}=="xxxx"ATTRS{idProduct}=="xxxx"ATTRS{devpath}=="?";

这三个字段就是摄像头的信息,绑定需要使用这些信息。请记住他们。

3.绑定

进入路径:/etc/udev/rules.d/

新建文件 ttyFaceVideo.rules

sudo vi ttyFaceVideo.rules

然后输入如下内容:

KERNEL=="video*", ATTRS{idVendor}=="13d3", ATTRS{idProduct}=="56ff", ATTRS{devpath}=="2", MODE:="0777", SYMLINK+="ttyFaceVideo"

请替换你的摄像头信息!        

ATTRS{idVendor}ATTRS{idProduct}ATTRS{devpath}

另外,SYMLINK 需要与文件名一致,不需要后缀!!!

4.重启

reboot

三、查看最总效果

命令:ll /dev/tty*

可以看到,已经绑定好了,后续,使用 /dev/ttyFaceVideo  相当于使用  /dev/video0

当然,如果有很多个摄像头,也可以绑定多个,名字不一样即可!

OpenCV使用案例

//QString vPath = QString("video0");
QString vPath = QString("/dev/ttyFaceVideo");
cv::VideoCapture video_capture;
video_capture.open(vPath .toStdString());

USB设备也是可以的,例如:/dev/ttyUSB
操作与video一致。

完!

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

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

相关文章

Redis 五大数据类型底层原理

0、前言 本文涉及的主题: redis 对象存储 底层数据结构:int、embstr、raw、ziplist、listpack、quicklist、skiplist、intset、hashtable redis 数据类型:string、list、set、zset、hash 1、对象存储、底层编码、数据类型 1.1 对象存储…

SpringBoot实现多数据源切换快速入门

1. 概述 随着项目规模的扩大和业务需求的复杂化,单一数据源已经不能满足实际开发中的需求。在许多情况下,我们需要同时操作多个数据库,或者需要将不同类型的数据存储在不同的数据库中。这时,多数据源场景成为必不可少的解决方案。…

C#的多线程UI窗体控件显示方案 - 开源研究系列文章

上次编写了《LUAgent服务器端工具》这个应用,然后里面需要新启动一个线程去对文件进行上传到FTP服务器,但是新线程里无法对应用主线程UI的内容进行更改,所以就需要在线程里设置主UI线程里控件信息的方法,于是就有了此博文。此文记…

录屏怎么打开?这3招请收好

在数字化飞速发展的今天,录屏功能已经不仅仅是一个简单的工具,而是成为了我们工作、学习和娱乐中的得力助手。但是,不同设备或系统打开录屏功能的方式可能有所不同,打开录屏功能的方式也在不断更新和演变,今天我们就来…

【前端项目笔记】8 订单管理

订单管理 效果展示: 在开发功能之前先创建分支order cls 清屏 git branch 查看所有分支(*代表当前分支) git checkout -b order 新建分支order git push -u origin order 将本地的当前分支提交到云端仓库origin中命名为order 通过路由方式…

“工控机”是什么?和普通电脑有区别嘛!

在现代工业生产中,有一种特殊的计算机,它不像普通电脑那样被放置于明亮的办公室内,而是常常藏身于机器轰鸣、环境恶劣的工厂车间里,这就是工控机——工业控制计算机的简称。作为工业自动化领域不可或缺的核心设备,工控机不仅承载着监控与数据采集(SCADA)、过程控制、数据…

LLM大模型安全概述

引言 2022年底以来,以ChatGPT为代表的大模型飞速发展,正在成为#驱动新质生产力发展#​的新动能、人类探索未知的新工具. 在显著提升人工智能(artificial intelligence, AI)模型通用理解和生成能力的同时,也带来了前所未有的安全风险. 大模型…

plugin:vite:import-analysis]No known conditions for“./lib/locale/lang/zh-cn“

将原有引入: import zhCn from element-plus/lib/locale/lang/zh-cn 改成: import zhCn from element-plus/es/locale/lang/zh-cn; 原因版本升级,引入路径改变(原先的包在node_modules\element-plus\lib找不到) 新…

数据预处理:统计关联性分析/数据清洗/数据增强/特征工程实例

专栏介绍 1.专栏面向零基础或基础较差的机器学习入门的读者朋友,旨在利用实际代码案例和通俗化文字说明,使读者朋友快速上手机器学习及其相关知识体系。 2.专栏内容上包括数据采集、数据读写、数据预处理、分类\回归\聚类算法、可视化等技术。 3.需要强调的是,专栏仅介绍主…

科技赋能智慧应急:“数字孪生+无人机”在防汛救灾中的应用

近期,全国多地暴雨持续,“麻辣王子工厂停工”“水上派出所成水上的派出所了”等相关词条冲上热搜,让人们看到了全国各地城市内涝、洪涝带来的严重灾情。暴雨带来的影响可见一斑,潜在的洪水、泥石流、山体滑坡等地质灾害更应提高警…

UartAssist 串口助手,存储文件 打开是乱码

问题描述 使用UartAssist 对采集的串口数据进行存储,存储为日志格式的文件,但打开的文件有些可正常显示,大部分打开是乱码; (串口输出无中文) 若打开的文本为 UTF-16,则为乱码,若是ANSI格式,则可…

【MySQL】库的操作【创建和操纵】

文章目录 1.创建数据库1.1字符集和校验规则1.查看系统默认字符集以及校验规则2.查看数据库支持的字符集以及校验规则 1.2校验规则对数据库的影响1.创建一个数据库,校验规则使用utf8_ general_ ci[不区分大小写]2.创建一个数据库,校验规则使用utf8_ bin[区…

HTML内容爬取:使用Objective-C进行网页数据提取

网页爬取简介 网页爬取,通常被称为网络爬虫或爬虫,是一种自动浏览网页并提取所需数据的技术。这些数据可以是文本、图片、链接或任何网页上的元素。爬虫通常遵循一定的规则,访问网页,解析页面内容,并存储所需信息。 …

继电器测试的价格和性价比如何?

继电器是广泛应用于各种电气控制系统中的开关元件,其主要功能是在输入信号的控制下,实现电路的断开和闭合。继电器的性能和质量直接影响到整个电气系统的稳定性和可靠性,因此对继电器进行严格的测试是非常必要的。那么,继电器测试…

软考-系统架构设计师[九年]上岸感想

2016年就开始参系统架构设计师的考试了,经历七次考试终于成功上岸,分享下自己这么多次考试失败的经验,希望大家可以少踩坑,一次通过考试 重点 如果你不想继续读下去,看完这段就行。 1.一定要知道最新的考试范围&…

VTK- 面绘制体绘制

在VTK中,面绘制(Surface Rendering)和体绘制(Volume Rendering)是两种常见的三维数据可视化方法。面绘制和体绘制是计算机图形学中用于三维数据可视化的重要技术,尤其在医学成像、科学可视化和计算机辅助设…

03.C1W2.Sentiment Analysis with Naïve Bayes

目录 Probability and Bayes’ RuleIntroductionProbabilitiesProbability of the intersection Bayes’ RuleConditional ProbabilitiesBayes’ RuleQuiz: Bayes’ Rule Applied Nave Bayes IntroductionNave Bayes for Sentiment Analysis P ( w i ∣ c l a s s ) P(w_i|clas…

OWASP ZAP安全扫描工具,扫描网站

OWASP ZAP (Zed Attack Proxy) 是一个功能强大的开源 web 应用程序安全扫描工具,用于发现和利用 web 应用程序中的漏洞。以下是如何安装和使用 OWASP ZAP 的步骤。 安装 OWASP ZAP 使用 Snap 安装: 在 Ubuntu 22.04 上可以通过 Snap 安装 OWASP ZAP&…

打造商贸物流“产-供-销”、“仓-运-配”全流程供应链

在当今全球化的商业环境中,商贸物流平台的搭建成为企业提升效率、降低成本并增强市场竞争力的关键因素。在现代商业环境中,商贸与物流之间的紧密协作是业务成功的关键因素。然而,许多组织面临着信息不对称、资源配套不足、以及系统间隔离等痛…

设计模型 - 学习笔记

学习参考: https://blog.csdn.net/m0_65346405/article/details/136994128 《系统分析师教程》 《设计模式之禅》 一. 设计模式的5大原则 1. 单一职责原则 一个类应该只有一个变化因子。 就是说,一个类要变化,比如增加功能,那么引…