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

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

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

相关文章

IT人的拖延——没兴趣又必须做怎么办?

人在职场,难免会被安排一些“不感兴趣”或者“觉得做了没什么意义或成就感”的事情,但是这些事情又被安排到自己身上不得不做了,于是人就难免有了拖延的迹象。这种拖延是“内在激励不足”导致的,因为从内心就觉得这个事情没什么挑战感,自己根本不感兴趣,或者就是重复的工…

异构图的连接预测三

异构图的连接预测三 总结: 做完了异构图的连接预测,我的疑虑还是挺多呢。 问题一: 为啥要使用’user’:self.user_emb(data[‘user’].node_id),生成用户的嵌入向量呢? 答:因为要使用到用户节点的特征,就是…

java中 stream()、parallelStream() 的区别对比,forEach()、forEachOrdered() 的区别对比

一、stream()、parallelStream()区别 1、数据准备 List<String> list = ListUtil.toList("2", "1", "3", "4", "5"); 2、stream() 示例 list.stream().forEach(item -> {System.out.println("stream.forEac…

zynq PS端 GPIO

记录一下PS端 GPIO 1. GPIO 简介 ZYNQ PS 中包含一组丰富的外设&#xff0c;用于和外部设备进行通信。ZYNQ 的 IO 包括对外连接的 GPIO 和内部 PS 与 PL 通信的 AXIO。其中对外的 GPIO 又分为两种&#xff1a;MIO 和 EMIO。 MIO 和 EMIO 只是 GPIO 信号的两种接口&#xff0c…

htop安装不了怎么解决

&#x1f31f;&#x1f30c; 欢迎来到知识与创意的殿堂 — 远见阁小民的世界&#xff01;&#x1f680; &#x1f31f;&#x1f9ed; 在这里&#xff0c;我们一起探索技术的奥秘&#xff0c;一起在知识的海洋中遨游。 &#x1f31f;&#x1f9ed; 在这里&#xff0c;每个错误都…

从零到一建设数据中台 - 数据可视化

从零到一建设数据中台(八)- 数据可视化 一、数据可视化大屏 数据可视化是借助于图形化手段,清晰有效地传达与沟通信息。 将一些业务的关键指标通过数据可视化的方式展示到一块或多块LED大屏上,以大屏为主要展示载体的数据可视化设计。 在数据可视化大屏构建过程中,为了…

排序(前篇)

1.排序的概念及其运用 2.插入排序的概念及实现 3.希尔排序的概念及实现 4.选择排序概念及实现 总代码&#xff08;对比各个排序在大量的数据情况排序所化的时间&#xff09;&#xff1a; 1.排序的概念及其运用 1.1排序的概念 排序&#xff1a;所谓排序&#xff0c;就是使…

SMS垃圾短信集F1指标分析

一、任务 SMS垃圾短信集是一组为研究SMS垃圾短信而收集数据集合&#xff0c;每条短信有两个信息&#xff0c;分别是标签信息label&#xff0c;其中spam为垃圾短信&#xff0c;ham为正常短信。以及message信息为短信内容。现在有训练集&#xff0c;训练集保存在E:\自然语言处理…

Jetpack架构组件_4. 数据绑定库页面传递数据

本篇介绍数据源从activity_main&#xff08;1级页面&#xff09;传递给include布局&#xff08;2级页面&#xff09;。 1.实现步骤 step1.修改build.gradle文件 修改app模块下的build.gradle文件&#xff0c;增加如下内容&#xff1a; dataBinding {enabled true} step2.创建…

java版本数字化时代的智能ERP管理系统:引 领企业高 效管理与创新发展

随着数字化浪潮的席卷&#xff0c;现代企业对于高 效、稳定、易于扩展的管理系统需求愈发迫切。为了满足这一需求&#xff0c;我们倾力打造了一款基于Java技术的企业级资源规划&#xff08;ERP&#xff09;管理系统。该系统以Spring Cloud Alibaba、Spring Boot、MybatisPlus、…

理解多线程看这一篇就够了

一、基本概念与关系 程序 程序是含有指令和数据的文件&#xff0c;静态地存储在磁盘等存储设备上。它是软件的实体&#xff0c;但未被激活。 进程 进程是程序的一次执行过程&#xff0c;是系统运行程序的基本单位。当程序被操作系统加载并执行时&#xff0c;就成为一个进程&a…

Nacos 进阶篇---Nacos服务下线做了哪些事情 ?(八)

一、引言 本章节是第一阶段最后一篇&#xff0c;那么我们今天要学习的源码内容是 “服务下线”. 当Nacos客户端下线的时候&#xff0c;是要去通知服务端&#xff0c;告诉服务端 “ 我已经下线&#xff0c;不可用了 ”。并且在服务下线时&#xff0c;还要去通知其他客户端服务更…

Linux命令那么多,先来一篇文件和目录管理命令!

&#x1f4a1;本文建议大家收藏&#xff01; 文件和目录管理命令 1. ls - 列出目录内容 ls命令是Linux中最常用的命令之一&#xff0c;用于列出目录中的文件和子目录。 ls显示当前目录下的所有文件和目录。 ls -l以长格式列出目录内容&#xff0c;显示文件权限、所有者、大…

如何便捷申请免费SSL证书,实现网站HTTPS安全传输

申请免费SSL证书的教程可以概括为以下几个通用步骤&#xff0c;这里以Lets Encrypt为例&#xff0c;因为它是最受欢迎的免费SSL证书提供商之一&#xff0c;同时也适用于多数其他免费SSL证书提供商&#xff1a; 1.准备工作 确认域名&#xff1a;确保你拥有一个有效的域名&…

CSS学习笔记:响应式布局的原理——媒体查询

什么是响应式布局&#xff1f; 在实际书写代码时&#xff0c;我们不会自己去手写媒体查询来实现响应式布局&#xff0c;我们一般会调用现成的代码库或使用现成的框架&#xff08;但这些代码库或框架的底层原理是媒体查询&#xff0c;所以了解媒体查询也是很有必要的&#xff0…

AB实验人群定向HTE模型1 - Causal Tree

背景 论文给出基于决策树估计实验对不同用户的不同影响。并提出Honest&#xff0c;variance Penalty算法旨在改进CART在tree growth过程中的过拟合问题。 我们举个例子&#xff1a;科研人员想衡量一种新的降血压药对病人的效果&#xff0c;发现服药的患者有些血压降低但有些血…

机架式服务器是什么?

随着科学技术的快速发展&#xff0c;服务器的种类样式也变得多种多样了&#xff0c;其中根据服务器的外观来进行分类的有塔式服务器、刀片式服务器和机架式服务器多种类型&#xff0c;其中对于塔式服务器和刀片式服务器我们还是有一定的了解的&#xff0c;所以今天小编主要来带…

I2C协议详解

文章目录 概念工作模式 原理工作原理工作流程IIC协议的关键特点IIC通信过程 优点与缺点优点缺点 概念 IIC&#xff08;Inter-Integrated Circuit&#xff09;协议&#xff0c;也常被称为TWI&#xff08;Two-Wire Interface&#xff09;协议&#xff0c;是一种用于短距离通信的…

list常用接口模拟实现

文章目录 一、模拟list类的框架二、函数接口实现1、迭代器接口2、常用删除、插入接口3、常用其他的一些函数接口4、默认成员函数 一、模拟list类的框架 1、使用带哨兵的双向链表实现。 2、链表结点&#xff1a; // List的结点类 template<class T> struct ListNode {Li…

Python实现mysql基于配置文件的全自动增量数据备份

前言 在mysql备份或者高可用当中,常见的方式主要有NDBcluster集群,MGR组复制技术,Mycat+mysql分片存储技术(以上三种都可以在mysql专栏查看)以及主从备份。 在上述的几种方式中,所需要的机器及部署配置都是相当繁琐的,集群至少三台起步,对于一些小的备份场景下可能不…