v4l2抓取rv1126图像

0.准备工作

        本文是基于正点原子的rv1126开发板使用mx415摄像头对不同节点的图像进行抓取

1.数据流向

 图1

        mx415采集到的数据为原始的拜尔格式(也就是raw格式),我们需要通过isp进行图像的调节才符合视觉,其中isp和ispp是两个处理的模块,RKAiq是其调整时候需要用到的文件,如何指定见图4,经过isp和ispp两个模块处理后的数据不再是raw数据而是可以指定的(见图3),其数据输出到/dev/videox节点上了,不同的video节点对应了四个节点分别为rkispp_m_bypass,rkispp_scale0,rkispp_scale1,rkispp_scale2其对应关系如下图2,最后再把图片输出给rkmedia。

 图2

        上图中红色为板子cs0摄像头的对应的节点,紫色为摄像头插在cs1时候对应的节点。        

其中这四个节点也分别对应着/dev/media节点其中板子上cs0对应media的1、3,cs1对应2、4.

        当我们想查询可输出什么格式图像时候我们可以执行如下代码:

v4l2-ctl --list-formats-ext --device /dev/video30

图3

        最后我们来说一下如何指定iq文件,在我们执行以及编写好的文件如某个可执行文件test1的时候我们可以使用./test1 -a (iq文件路径)即 ./test1 -a /etc/iqfiles/,或者我们可以打开ispserver,即在命令框输入ispserver &让其后台运行即可,前者属于深红色的那条线即在代码直接指定了为什么使用路径,后者是橙红色的那条线即通过ispserver启动。但是也有一些注意事项:

1.不可同时指定路径并启动ispserver

2.当我们只插了一个摄像头的时候ispserver默认启动了cs0处的ispserver如果你把摄像头插在cs1则isp功能是无效的,除非插入两个摄像头。

  图4

        但是对于我们使用v4l2抓图我们使用ispserver的方法来使用isp,因为方法以指定iq文件其实是和驱动代码相配合,我们只是抓图没有代码这一说因此使用ispserver,所以根据我们的注意事项2我们应该吧摄像头插在cs1处合适。

        抓图命令,这里我们抓的是cs0的rkispp_by_pass节点下的图即/dev/video30这里我们要提前打开ispserver在后台运行即ispserver &。

v4l2-ctl -d  /dev/video30 \
--set-fmt-video=width=3840,height=2160,\
pixelformat=NV12 \
--stream-mmap=3 \
--stream-skip=30 \
--stream-to=/tmp/bypass0.raw \
--stream-count=1 \
--stream-poll

        这里第一行指定了从哪里抓图,set fmt video指定了抓图分辨率(该接口只可以全分辨率抓),pixelformat制定了抓图的格式即输出图片格式为NV12,mmap是内存映射不管,skip是跳过前面30帧因为前面ispserver可能未初始好,to是制定了抓取图片存放的位置与名称(由于前面以及指定输出为NV12格式因此,这里的raw只是名称没有实际意义),count说明抓取一张图片,最后poll开始抓图

        抓图成功之后使用adb命令从ubuntu把图片拉过来即

adb pull /tmp/bypass0.raw ./

        再打开查看

ffplay -f rawvideo -video_size 3840x2160 -pixel_format nv12 bypass0.raw

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

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

相关文章

智能监控技术助力山林生态养鸡:打造智慧安全的养殖新模式

随着现代科技的不断发展,智能化、自动化的养殖方式逐渐受到广大养殖户的青睐。特别是在山林生态养鸡领域,智能化监控方案的引入不仅提高了养殖效率,更有助于保障鸡只的健康与安全。视频监控系统EasyCVR视频汇聚/安防监控视频管理平台在山林生…

GD32F103RCT6/GD32F303RCT6(10)独立看门狗/窗口看门狗实验

本文章基于兆易创新GD32 MCU所提供的2.2.4版本库函数开发 后续项目主要在下面该专栏中发布: 手把手教你嵌入式国产化_不及你的温柔的博客-CSDN博客 感兴趣的点个关注收藏一下吧! 电机驱动开发可以跳转: 手把手教你嵌入式国产化-实战项目-无刷电机驱动&am…

vscode中更改 git托管的项目里的文件 不显示在 修改项 changes里面

目录 一、问题 二、原因及解决方法 三、总结 tiips:如嫌繁琐,直接移步总结即可! 一、问题 1.在vscode中修改 从 git拉取下来的代码,本地不显示被修改的文件;文件夹只有最外层显示红色修改图标;但是里面的被修改的文件也没有被…

在Windows安装Flutter

一、安装 Android Studio 官网: 下载 Android Studio 和应用工具 - Android 开发者 | Android Developers 教程:Android Studio 安装配置教程 - Windows(详细版)-CSDN博客 Flutter 官网:Windows | Flutter 中文文档 - Flutter 中文开发…

为什么AI企业需要联盟营销?

AI工具市场正在迅速发展,现仍有不少企业陆续涌出,那么如何让你的工具受到目标群体的关注呢?这相比是AI工具营销人员一直在思考的问题。 即使这个市场正蓬勃发展,也无法保证营销就能轻易成功。AI工具虽然被越来越多人认可和接受&a…

自动化测试实践:揭秘WebSocket在接口测试中的应用

如何写接口自动化?这个问题,但凡涉足过自动化测试的人员都能娓娓道来。Requests、urlib、jmeter、curl等等,不在话下。那么,如何获取接口的url、参数、响应等信息呢?!答案就更是随口而出:看接口…

深入理解Python中的包与模块

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、包的概述与功能 代码案例:包的结构 二、模块的划分与组合 划分模块的方法…

# 解决 win11 连接共享打印机,报错 0x00000709 问题

解决 win11 连接共享打印机,报错 0x00000709 问题 一、问题描述: 当我们连接一台共享打印机,出现报错 0x00000709 时,这是由于本机注册表本配置 RPC 远程调用,我们需要对自己的电脑进行修改,而不是主机&a…

必看项目|多维度揭示心力衰竭患者生存关键因素(生存分析、统计检验、随机森林)

1.项目背景 心力衰竭是一种严重的公共卫生问题,影响着全球数百万人的生活质量和寿命,心力衰竭的病因复杂多样,既有个体生理因素的影响,也受到环境和社会因素的制约,个体的生活方式、饮食结构和医疗状况在很大程度上决定了其心力衰竭的风险。在现代社会,随着生活水平的提…

设计软件有哪些?建模和造型工具篇(4),渲染100邀请码1a12

建模使用到的工具有很多,这次我们接着介绍。 1、PolyBoost PolyBoost是由Digimation公司开发的3ds Max插件,旨在增强软件的多边形建模功能。该插件提供了一系列强大的建模工具,如边缘控制、顶点编辑、面片调整等,使用户能够更加…

【Unity2D 2022:Particle System】添加粒子特效

一、创建粒子系统游戏物体 1. 创建粒子系统游戏物体Smog Effect 2. 给粒子特效添加精灵贴图 (1)启用Texture Sheet Animation(纹理表动画) (2)点击加号添加一个纹理,并将两张厌恶图片导入到纹理…

运维笔记:流编辑器sed命令用法解析

运维笔记 sed命令用法解析 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550263/arti…

大模型助力企业提效,九章云极DataCanvas公司联合腾讯搜狗输入法发布私有化解决方案

近日,九章云极DataCanvas公司与腾讯搜狗输入法的合作再次升级。在搜狗输入法开发者中心正式推出之际,九章云极DataCanvas公司作为搜狗输入法的首批开发合作伙伴,双方联合发布“企业知识管理助手”私有化解决方案。 “企业知识管理助手”整体私…

奶奶也能看懂的耦合协调度分析

不会计算?跟着文献学起来~ 案例数据连接(复制链接后粘贴到浏览器中): 耦合协调度数据​spssau.com/spssaudata.html?shareDataF363000CD033FF15E557BB75B9B0D412 假如你有这样一组数据: 如何进行计算分析耦合协调度…

如何快速从手动测试转向自动化测试

寻求具有无缝持续集成和持续交付 (CI/CD) 的高效 DevOps 管道比以往任何时候都更加重要。想象一下这样一个场景:您的软件组织显著减少了人工工作量、降低了成本,并更加自信地发布了软件更新。换句话说,通过将 Web UI 和 API 测试结合在一起&a…

智能家居ZigBee网关选型定制指南:主控,操作系统,天线设计,助力IoT开发者

随着科技的发展和人们生活水平的提高,智能家居以其便捷、舒适、安全等特点,逐渐走进千家万户,成为家装消费品换新升级的重要方向。在智能家居系统中,网关扮演着中枢控制器的角色,负责将各种设备连接到互联网上&#xf…

【Linux|数据恢复】extundelete和ext4magic数据恢复工具使用

环境:Centos7.6_x86 一、extundelete工具 1、extundelete介绍 Extundelete 是一个数据恢复工具,用于从 ext3 或 ext4 分区中恢复删除文件。根据官网0.2.4版本介绍是支持ext4,但实际上使用发现ext4格式不行,会报以下错误&#xf…

大模型预训练结果到底是什么?

近日参加一个线下 AI 交流会议,会上有个非本行业的老师提问:“大家说的训练好的大模型到底是什么?是像 Word 软件一样可以直接使用的程序吗?” 这个问题看似简单,却一下把我问住了。的确,我们这些身处 AI 领…

strlen函数及其模拟实现(C语言)

文章目录 1.前言2. 介绍strlen函数2.1 strlen函数的作用2.2 strlen函数的原型 3. strlen函数实操演练4. strlen函数的模拟实现5. 总结 1.前言 在现实生活场景中,字符乃至字符串出现的形式占大多数。比如,整天数着自己小金库里钱的数目本质上也是一种符号…

Mybatis进阶——动态SQL(1)

目录 一、 <if> 标签 二、<trim> 标签 三、<where> 标签 四、<set> 标签 五、<foreach> 标签 六、<include> 标签 动态SQL 是Mybatis的强大特性之一&#xff0c;能够完成不同条件下的不同SQL拼接&#xff0c;可以参考官方文档&#…