H616连接摄像头

        (1)首先将USB摄像头连接到OrangePi开发板的USB接口

        (2)通过lsmod命令查看是否加载了uvcvideo模块

lsmod | grep video

        (3)通过 v4l2-ctl 命令可以看到 USB 摄像头的设备节点信息为/dev/video0

sudo apt update
sudo apt install -y v4l-utils
v4l2-ctl --list-devices
#注:v4l2 中的 l 是小写字母 l,不是数字 1。
#注:video 的序号不一定都是 video0,请以实际看到的为准。

 

        (4)使用 fswebcam 测试 USB 摄像头

#安装 fswebcam
sudo apt update
sudo apt-get install -y fswebcam

#拍照
sudo fswebcam -d /dev/video0 \ --no-banner -r 1280x720 -S 5 ./image.jpg
#-d 选项用于指定 USB 摄像头的设备节点
#--no-banner 用于去除照片的水印
#-r 选项用于指定照片的分辨率
#-S 选项用设置于跳过前面的帧数
#./image.jpg 用于设置生成的照片的名字和路径

#在服务器版的 linux 系统中,拍完照后可以使用 scp 命令将拍好的图片传到Ubuntu PC 上镜像观看
scp image.jpg test@192.168.1.55:/home/test(根据实际情况修改 IP 地址和路径)

#在桌面版的 linux 系统中,可以通过 HDMI 显示器直接查看拍摄的图片

        (5)使用 mjpg-streamer 测试 USB 摄像头

#下载 mjpg-streamer
    #Github 的下载地址:
git clone https://github.com/jacksonliam/mjpg-streamer
    #Gitee 的镜像下载地址为:
git clone https://gitee.com/leeboby/mjpg-streamer

#安装依赖的软件包
    #Ubuntu 系统
sudo apt-get install -y cmake libjpeg8-dev
    #Debian 系统
sudo apt-get install -y cmake libjpeg62-turbo-dev
    
#编译安装 mjpg-streamer
cd mjpg-streamer/mjpg-streamer-experimental
make -j4
sudo make install

#启动mjpg_streamer
export LD_LIBRARY_PATH=.
sudo ./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -u -f 30" -o "./output_http.so -w ./www"
    #也可以在start.sh中直接修改
vi start.sh
#将./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www"
#修改为./mjpg_streamer -i "./input_uvc.so -d /dev/video1 -u -f 30" -o "./output_http.so -w ./www" #注意这里的video1需要根据实际情况修改
./start.sh


#在和开发板同一局域网的 Ubuntu PC 或者 Windows PC 或者手机的浏览器中输入【开发板的 IP 地址:8080】就能看到摄像头输出的视频了

        (6) 执行拍照,获取图片

#获取图片
wget http://192.168.1.6:8080/?action=snapshot -O /tmp/garbage.jpg

        (7)设置开机自启动

cd ~
touch mjpg.sh
vi mjpg.sh
#输入
####################
#!/bin/bash

cd mjpg-streamer/mjpg-streamer-experimental
./start.sh
####################

chmod +x mjpg.sh
/home/orangepi/mjpg.sh

#开机起来当前用户下面所有的执行程序(配置开机启动的位置)
cd /etc/xdg/autostart/

sudo cp im-launch.desktop mjpg.desktop
sudo vi mjpg.desktop
#清空输入
####################
[Desktop Entry]
Name=mjpg
Exec=/home/orangepi/mjpg.sh
Type=Application
NoDisplay=true
####################

#重启然后查看mjpg的服务有没有起来
sudo reboot -f
ps ax | grep mjpg

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

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

相关文章

数字化精益生产系统--SRM供应商关系管理

SRM供应商关系管理,全称为Supplier Relationship Management(供应商关系管理)系统,是一种专门用于管理采购供应链和供应商关系的软件系统。该系统通过集成各个环节的采购活动,帮助企业实现采购流程的自动化、标准化和优…

【数智化案例展】苏商银行——全场景数据统一极速多维即席分析底座建设

‍ 镜舟科技案例 本项目案例由镜舟科技投递并参与数据猿与上海大数据联盟联合推出的《2024中国数智化转型升级创新服务企业》榜单/奖项”评选。 大数据产业创新服务媒体 ——聚焦数据 改变商业 在 2017 年建行之初,江苏苏商银行股份有限公司(以下简称“…

【软件测试】单元测试、系统测试、集成测试详解

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 一、单元测试的概念 单元测试是对软件基本组成单元进行的测试,如函数或一个类的方法…

解析Kotlin中的内联函数,inline、noinline、crossinline【笔记摘要】

用编译时常量的概念,引出本文要讲内联函数inline: 1.编译时常量 Java的编译时常量 Compile-time Constant 它有四个要求:1.这个变量需要是 final 的  2.类型只能是字符串或者基本类型  3.这个变量需要在声明的时候就赋值  4.等号右边…

西部智慧健身小程序+华为运动健康服务

1、 应用介绍 西部智慧健身小程序为用户提供一站式全流程科学健身综合服务。用户通过登录微信小程序,可享用健康筛查、运动风险评估、体质检测评估、运动处方推送、个人运动数据监控与评估等公益服务。 2、 体验介绍西部智慧健身小程序华为运动健康服务核心体验如…

文心一言 VS 讯飞星火 VS chatgpt (294)-- 算法导论21.4 3题

三、根据练习 21.4-2 的结论,对于每个结点x,需要多少位(bit)来存储x.rank?21.4-2 的内容是:“证明:每个结点的秩最多为 ⌊lgn⌋ 。”。如果要写代码,请用go语言。 文心一言: 在问题21.4-2中&a…

YOLO-world论文阅读笔记

论文:https://arxiv.org/abs/2401.17270 code: https://github.com/AILab-CVC/YOLO-World 1、为什么要做这个研究(理论走向和目前缺陷) ? 之前的开集检测器大多比较慢,不利于部署。 2、他们怎么做这个研究 (方法&…

C++编程(九)异常处理机制、模板、容器库

文章目录 一、异常处理机制(一)概念(二)语法格式(三)使用示例(四)异常处理机制库 二、模板(一)概念(二)函数模板1. 语法格式2. 函数模…

zxing-cpp+OpenCV根据字符串生成条形码

编译构建 需要使用到 CMake、Git、GCC 或 MSVC。 github 链接:https://github.com/zxing-cpp/zxing-cpp 编译之前请确保: 确保安装了 CMake 版本 3.15 或更高版本。 确保安装了与 C17 兼容的编译器(最低VS 2019 16.8 / gcc 7 / clang 5)。 编译构建…

Linear Regression线性回归

目录 前言 Housing Price Prediction Linear Regression Loss/Cost Function Learning Rate 作业 前言 在本专栏中,我们将学习机器学习的知识。 Housing Price Prediction 在开始线性回归的研究之前,我们先来考虑一个实际的问题:房屋…

茗鹤APS高级计划排程系统,在集团多工厂协同生产下的应用

随着业务规模的扩大和市场的全球化,越来越多的企业选择“总部多工厂基地”的模式,此种模式大幅提升企业的产能与产量,有效分散风险。然后,与之而来的是对企业的管理提出更高的管理要求。多个生产基地不仅面临集团下发的周期性计划…

electron教程(一)创建项目

一、方式① 根据官网描述将electron/electron-quick-start项目克隆下来并启动 electron/electron-quick-start地址: GitHub - electron/electron-quick-start: Clone to try a simple Electron app git clone https://github.com/electron/electron-quick-start…

回溯 | Java | LeetCode 39, 40, 131 做题总结

Java Arrays.sort(数组) //排序 不讲究顺序的解答,都可以考虑一下排序是否可行。 39. 组合总和 错误解答 在写的时候需要注意,sum - candidates[i];很重要,也是回溯的一部分。 解答重复了。是因为回溯的for循环理解错了。 class Solutio…

JavaSE简易版扫雷小游戏

描述:用户输入二维雷区的高和宽,输入确定地雷数,随机在地雷区生成地雷。用户输入横竖坐标进行挖雷,挖到地雷游戏以失败结束,并让用户选择是否再次游戏;没挖到雷,显示该区域8个方向地雷数。如果8…

去中心化社会的崛起:探索区块链对社会结构的影响

随着区块链技术的发展和应用,我们正逐步迈向一个去中心化的社会结构。本文将深入探讨区块链技术如何影响社会结构,从经济、政治到文化等多个方面进行探索和分析,揭示其可能带来的革命性变革。 1. 区块链技术的基本原理回顾 1.1 分布式账本与…

放大器的输入电容Cin对放大电路的影响

1、OPA859构成的放大电路的设计 图中OPA859的增益G设定为1.16 ,OPA859的增益带宽积GBP 900M , 放大器的带宽BW GBP / Acl 900 / 1.16 775.86M。 图:OPA859放大电路 由于需要在放大电路上加带宽的限制,所以在OPA859放大电路上有个低通限…

Elasticsearch基础(二):阿里云Elasticsearch快速入门

文章目录 阿里云Elasticsearch快速入门 一、资源领取 二、访问实例 三、创建索引 四、插入数据 五、搜索数据 1、全文搜索 2、按查询条件搜索 六、删除数据 阿里云Elasticsearch快速入门 一、资源领取 这里资源领取只针对新用户,如果是老用户按需购买&am…

vue3.0(十六)axios详解以及完整封装方法

文章目录 axios简介1. promise2. axios特性3. 安装4. 请求方法5. 请求方法别名6. 浏览器支持情况7. 并发请求 Axios的config的配置信息1.浏览器控制台相关的请求信息:2.配置方法3.默认配置4.配置的优先级5.axios请求响应结果 Axios的拦截器1.请求拦截2.响应拦截3.移…

太阳辐射系统日光全光谱模拟太阳光模拟器

太阳光模拟器是一种用于评估太阳能电池性能的重要设备。它能够模拟太阳光的特性,通过测试电池的短路电流、开路电压、填充因子和光电转化效率等关键指标,来评估电池的性能优劣。 设备型号:KYF-GC004品牌制造商:科迎法电气太阳光模…

bigNumber的部分使用方法与属性

场景:最近做IoT项目的时候碰到一个问题,涉及到双精度浮点型的数据范围的校验问题。业务上其实有三种类型:int、float和double类型三种。他们的范围分别是: //int int: [-2147483648, 2147483647],//float float: [-3402823466385…