Changes

Jump to navigation Jump to search
Line 2: Line 2:     
=== 概述 ===
 
=== 概述 ===
 +
MV系列相机是为工业领域的AI应用推出的相机。其使用MIPI CSI-2接口,尤其适合嵌入式运算平台使用。它具备丰富的数据格式和触发特性,极低的延时,极高的带宽和可靠的稳定性。
 +
 +
本文介绍了如何在英伟达Jetson平台使用MV系列相机。
 +
 +
==== 支持的摄像机模组 ====
 +
{| class="wikitable"
 +
! 系列
 +
!型号
 +
! 状态
 +
|-
 +
|MV系列
 +
|MV-MIPI-IMX178M
 +
|完成
 +
|-
 +
|MV系列
 +
|MV-MIPI-SC130M
 +
|完成
 +
|-
 +
|MV系列
 +
|MV-MIPI-IMX296M
 +
|完成
 +
|-
 +
|MV系列
 +
|MV-MIPI-IMX287M
 +
|完成
 +
|-
 +
|MV系列
 +
|MV-MIPI-IMX265M
 +
|完成
 +
|-
 +
|MV系列
 +
|MV-MIPI-IMX264M
 +
|完成
 +
|-
 +
|RAW系列
 +
|RAW-MIPI-SC132M
 +
|完成
 +
|-
 +
|RAW系列
 +
|RAW-MIPI-AR0234M
 +
|完成
 +
|-
 +
|RAW系列
 +
|RAW-MIPI-IMX462M
 +
|完成
 +
|}
 +
此外,已经调通V-by-One HS连接模式的驱动。
 +
 +
==== 支持的Jetson Board ====
 +
{| class="wikitable"
 +
!Jetson型号
 +
! 状态
 +
|-
 +
|Nano A02
 +
|完成
 +
|-
 +
|Nano B01
 +
|完成
 +
|-
 +
|Nano 2GB
 +
|完成
 +
|-
 +
|TX2 NX
 +
|完成
 +
|-
 +
|XAVIER NX
 +
|完成
 +
|-
 +
|TX2 Devkit
 +
|完成
 +
|-
 +
|AGX Xavier
 +
|完成
 +
|-
 +
|AGX Orin
 +
|完成
 +
|-
 +
|Orin NX
 +
|完成
 +
|-
 +
|Orin Nano
 +
|完成
 +
|}
 +
 +
==== 支持的L4T版本 ====
 +
 +
* Jetpack4.6.1,L4T版本r32.7.1
 +
*Jetpack4.6.3,L4T版本r32.7.3
 +
*Jetpack5.0.2,L4T版本r35.1
 +
*Jetpack5.1,L4T版本r35.2.1
 +
*Jetpack5.1.1,L4T版本r35.3.1
 +
*Jetpack5.1.2,L4T版本r35.4.1
 +
 +
=====怎样查看当前L4T版本=====
 +
在jetson板子上,查看当前L4T版本,尽量使用同一版本进行替换。
 +
 +
<code>cat /etc/nv_tegra_release</code>
 +
 +
如显示:
 +
 +
<code># R32 (release), REVISION: 7.1......</code>
 +
 +
则表示当前L4T版本为32.7.1,对应的Jetpack版本是Jetpack32.6.1。
 +
=== 硬件准备以及安装 ===
 +
MV系列相机需要转接板才可以接入Jetson平台。支持情况如下表:
 +
{| class="wikitable"
 +
!Camera型号
 +
!Jetson型号
 +
! 转接板
 +
!FFC线(to 转接板)
 +
!FFC线(to Jetson主板)
 +
!摄像机数量
 +
!额外供电
 +
|-
 +
| rowspan="10" |MV系列
 +
|Nano A02
 +
|ADP-MV1
 +
|30pin异面FFC
 +
|15pin异面FFC
 +
|1
 +
|5V DC(必须)
 +
|-
 +
|Nano B01
 +
|ADP-MV1
 +
|30pin异面FFC
 +
|15pin异面FFC
 +
|2
 +
|5V DC(必须)
 +
|-
 +
|Nano 2GB
 +
|ADP-MV1
 +
|30pin异面FFC
 +
|15pin异面FFC
 +
|1
 +
|5V DC(必须)
 +
|-
 +
|TX2 NX
 +
|ADP-MV1
 +
|30pin异面FFC
 +
|15pin异面FFC
 +
|2
 +
|5V DC(必须)
 +
|-
 +
|XAVIER NX
 +
|ADP-MV1
 +
|30pin异面FFC
 +
|15pin异面FFC
 +
|2
 +
|5V DC(必须)
 +
|-
 +
|Orin Nano
 +
|ADP-MV1
 +
|30pin异面FFC
 +
|15to22 pin 同面FFC
 +
|2
 +
|5V DC(必须)
 +
|-
 +
|Orin NX
 +
|ADP-MV1
 +
|30pin异面FFC
 +
|15to22 pin 同面FFC
 +
|2
 +
|5V DC(必须)
 +
|-
 +
|TX2 Devkit
 +
|ADP-N4
 +
|30pin异面FFC
 +
|B2B连接器
 +
|6
 +
|5V或12V DC (必须)
 +
|-
 +
|AGX Xavier
 +
|ADP-N4
 +
|30pin异面FFC
 +
|B2B连接器
 +
|6
 +
|5V或12V DC (必须)
 +
|-
 +
|AGX Orin
 +
|ADP-N4
 +
|30pin异面FFC
 +
|B2B连接器
 +
|6
 +
|5V或12V DC (必须)
 +
|-
 +
| rowspan="10" |RAW-MIPI-SC132M
 +
|Nano A02
 +
|N/A
 +
|N/A
 +
|15pin异面FFC
 +
|1
 +
|N/A
 +
|-
 +
|Nano B01
 +
|N/A
 +
|N/A
 +
|15pin异面FFC
 +
|2
 +
|N/A
 +
|-
 +
|Nano 2GB
 +
|N/A
 +
|N/A
 +
|15pin异面FFC
 +
|1
 +
|N/A
 +
|-
 +
|TX2 NX
 +
|N/A
 +
|N/A
 +
|15pin异面FFC
 +
|2
 +
|N/A
 +
|-
 +
|XAVIER NX
 +
|N/A
 +
|N/A
 +
|15pin异面FFC
 +
|2
 +
|N/A
 +
|-
 +
|Orin Nano
 +
|N/A
 +
|N/A
 +
|15to22 pin 同面FFC
 +
|2
 +
|N/A
 +
|-
 +
|Orin NX
 +
|N/A
 +
|N/A
 +
|15to22 pin 同面FFC
 +
|2
 +
|N/A
 +
|-
 +
|TX2 Devkit
 +
|ADP-N5
 +
|15pin异面FFC
 +
|B2B连接器
 +
|6
 +
|N/A
 +
|-
 +
|AGX Xavier
 +
|ADP-N5
 +
|15pin异面FFC
 +
|B2B连接器
 +
|6
 +
|N/A
 +
|-
 +
|AGX Orin
 +
|ADP-N5
 +
|15pin异面FFC
 +
|B2B连接器
 +
|6
 +
|N/A
 +
|-
 +
| rowspan="10" |RAW系列(RAW-MIPI-SC132M除外)
 +
|Nano A02
 +
|N/A
 +
|N/A
 +
|15to22 pin 同面FFC
 +
|1
 +
|N/A
 +
|-
 +
|Nano B01
 +
|N/A
 +
|N/A
 +
|15to22 pin 同面FFC
 +
|2
 +
|N/A
 +
|-
 +
|Nano 2GB
 +
|N/A
 +
|N/A
 +
|15to22 pin 同面FFC
 +
|1
 +
|N/A
 +
|-
 +
|TX2 NX
 +
|N/A
 +
|N/A
 +
|15to22 pin 同面FFC
 +
|2
 +
|N/A
 +
|-
 +
|XAVIER NX
 +
|N/A
 +
|N/A
 +
|15to22 pin 同面FFC
 +
|2
 +
|N/A
 +
|-
 +
|Orin Nano
 +
|N/A
 +
|N/A
 +
|22pin 异面FFC
 +
|2
 +
|N/A
 +
|-
 +
|Orin NX
 +
|N/A
 +
|N/A
 +
|22pin 异面FFC
 +
|2
 +
|N/A
 +
|-
 +
|TX2 Devkit
 +
|ADP-N5
 +
|15to22 pin 同面FFC
 +
|B2B连接器
 +
|6
 +
|N/A
 +
|-
 +
|AGX Xavier
 +
|ADP-N5
 +
|15to22 pin 同面FFC
 +
|B2B连接器
 +
|6
 +
|N/A
 +
|-
 +
|AGX Orin
 +
|ADP-N5
 +
|15to22 pin 同面FFC
 +
|B2B连接器
 +
|6
 +
|N/A
 +
|}
 +
==== MV系列摄像头使用ADP-MV1的连接方式 ====
 +
 +
===== MV系列摄像头与ADP-MV1的连接 =====
 +
二者使用0.5mm间距*30P的FFC异面线连接,注意接触面向外。
 +
{| class="wikitable"
 +
!TOP
 +
!BOTTOM
 +
|-
 +
|[[File:ADP-MV1-MV-MIPI-X 01.jpg|center|thumb|600x600px|ADP-MV1 to MV-MIPI-X|alt=]]
 +
|[[File:ADP-MV1-MV-MIPI-X 02.jpg|alt=|center|thumb|600x600px|ADP-MV1 to MV-MIPI-X]]
 +
|}
 +
 +
===== 供电 =====
 +
ADP-MV1需要独立的5V供电,可以使用杜邦线直接从Jetson主板取电。
 +
[[File:ADP-MV1-MV-MIPI-X 07.jpg|center|thumb|800x800px|ADP-MV1 power supply]]
 +
<br />
 +
 +
===== 使用ADP-MV1连接到Nano和Xavier NX =====
 +
Nano系列和NX系列采用这种连接方式。
 +
[[File:MV camera and Xavier NX connection.jpg|center|thumb|800x800px|MV camera and Xavier NX connection]]<br />
 +
===== 使用ADP-MV1连接到Orin Nano和 Orin NX =====
 +
二者使用15P转22Pin的FFC同面线连接,注意接触面方向。
 +
[[File:MV camera connect to Orin Nano and Orin NX.jpg|center|thumb|800x800px|MV camera connect to Orin Nano and Orin NX]]
 +
<br />
 +
 +
==== MV系列摄像头使用ADP-N4的连接方式 ====
 +
 +
===== MV系列摄像头与ADP-N4的连接 =====
 +
二者使用0.5mm间距*30P的FFC同面线连接,注意接触面向外。
 +
[[File:ADP-N4 and MV-MIPI-CAM.jpg|center|thumb|800x800px|MV-MIPI-CAM to ADP-N4]]
 +
 +
===== 供电 =====
 +
ADP-N4需要独立的供电。它支持两种供电方式,二选其一即可。
 +
 +
* 5V DC 接到 J19-9。可以使用杜邦线直接从Jetson主板取电。
 +
* 12V DC 接到J11。需使用外置适配器供电。
 +
 +
===== 使用ADP-N4的连接到TX2和AGX =====
 +
[[File:ADP-N4 to AGX XAVIER.jpg|alt=ADP-N4 to AGX XAVIER|center|thumb|800x800px|ADP-N4 to AGX XAVIER]]
 +
<br />
 +
[[File:ADP-N4 to AGX Orin.jpg|center|thumb|800x800px|ADP-N4 to AGX Orin]]
 +
[[File:ADP-N4 to TX2 Devkit.jpg|center|thumb|800x800px|ADP-N4 to TX2 Devkit]]
 +
 +
==== RAW系列摄像头直接连接到Jetson主板 ====
 +
 +
===== RAW系列摄像头连接到Nano和Xavier NX =====
 +
RAW-MIPI-SC132M使用15pin异面FFC线,其他RAW系列相机使用15to22pin同面FFC线。
 +
<br />
 +
[[File:RAW-MIPI-AR0234-NANO 01.jpg|center|thumb|800x800px|RAW camera and Jetson Nano connection]]
 +
 +
===== RAW系列摄像头连接到Orin Nano和 Orin NX =====
 +
RAW-MIPI-SC132M使用15to22pin同面FFC线,其他RAW系列相机使用22pin异面FFC线。
 +
[[File:RAW-MIPI-IMX462-ORIN NX.jpg|center|thumb|800x800px|RAW-MIPI-IMX462-ORIN NX]]
 +
<br />
 +
 +
==== RAW系列摄像头使用ADP-N5的连接方式 ====
 +
 +
===== RAW系列摄像头与ADP-N5的连接 =====
 +
RAW-MIPI-SC132M使用15pin异面FFC线,其他RAW系列相机使用15to22pin同面FFC线。
 +
[[File:RAW-MIPI-IMX462-ADP-N5.jpg|center|thumb|800x800px|RAW-MIPI-IMX462 connect with ADP-N5]]
 
<br />
 
<br />
   −
=== 硬件准备以及安装 ===
+
===== 使用ADP-N5连接到TX2和AGX =====
 +
[[File:RAW-MIPI-IMX462 connect to ADP-N5-AGX XAVIER.jpg|center|thumb|800x800px|ADP-N5 to AGX Xavier]]
 +
<br />
 +
==== V-by-One-HS-KIT摄像机连接示意图 ====
 +
[[File:VBYONE connection with Jetson.jpg|center|thumb|800x800px|V-by-One-HS-KIT connection with Jetson]]
 
<br />
 
<br />
 +
=== 更新Jetson系统 ===
 +
本章节描述怎样更新Jetson的L4T系统以支持MV摄像头模组。操作系统更新方法,请参考[[VEYE CS Camera for Jetson TX2/zh#.E6.9B.B4.E6.96.B0Jetson Nano.2C Jetson TX2.EF.BC.8CTX2 NX.2C AGX Xavier.E5.92.8CXavier NX.E7.B3.BB.E7.BB.9F|更新Jetson操作系统]]。
   −
=== 更新Jetson操作系统 ===
+
特别的,对于MV系列相机,除了在linux系统中增加了摄像头的驱动,我们还增加了一个内核补丁——veye_mv_l4t_<verion>.patch,并提供编译好的Image文件。
 +
 
 +
这个patch具备两个功能:
 +
 
 +
# 增加了黑白相机的Y10和Y12两种数据格式的支持。
 +
# 增加了trigger模式的支持。
 +
 
 +
=== raw data图片格式说明 ===
 +
在TX2和XAVIER上,10 bit depth和12 bit depth的raw data在内存中的存储格式是不符合V4L2标准的。我们扩展了linux内核中的定义以支持这种情况。
 +
 
 +
TY10、TY12、XY10和XY12是我们新增的类型。
 +
 
 +
===== Nano =====
 +
{| class="wikitable"
 +
!Depth
 +
!Bit order
 +
!FourCC
 +
!Enumerator
 +
|-
 +
|8
 +
|B7 B6 B5 B4 B3 B2 B1 B0
 +
|GREY
 +
|V4L2_PIX_FMT_GREY
 +
|-
 +
|10
 +
|0 0 0 0 0 0 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0
 +
|'Y10 '
 +
|V4L2_PIX_FMT_Y10
 +
|-
 +
|12
 +
|0 0 0 0 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0
 +
|'Y12 '
 +
|V4L2_PIX_FMT_Y12
 +
|}
 +
 
 +
===== TX2 =====
 +
{| class="wikitable"
 +
!Depth
 +
!Bit order (X is undefined)
 +
!FourCC
 +
!Enumerator
 +
|-
 +
|8
 +
|B7 B6 B5 B4 B3 B2 B1 B0
 +
|GREY
 +
|V4L2_PIX_FMT_GREY
 +
|-
 +
|10
 +
|0 0 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 X X X X
 +
|TY10
 +
|V4L2_PIX_FMT_TX2_Y10
 +
|-
 +
|12
 +
|0 0 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 X X
 +
|TY12
 +
|V4L2_PIX_FMT_TX2_Y12
 +
|}
 +
 
 +
===== XAVIER and Orin =====
 +
{| class="wikitable"
 +
!Depth
 +
!Bit order (X is undefined)
 +
!FourCC
 +
!Enumerator
 +
|-
 +
|8
 +
|B7 B6 B5 B4 B3 B2 B1 B0
 +
|GREY
 +
|V4L2_PIX_FMT_GREY
 +
|-
 +
|10
 +
|0 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 X X X X X
 +
|XY10
 +
|V4L2_PIX_FMT_XAVIER_Y10
 +
|-
 +
|12
 +
|0 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0 X X X
 +
|XY12
 +
|V4L2_PIX_FMT_XAVIER_Y12
 +
|}
 +
同时,我们提供了工具软件,以便将特殊的数据格式转为标准格式。https://github.com/veyeimaging/pixel_layer_convert<nowiki/>。
 +
 
 +
推荐使用[https://www.offminor.de/ vooya]作为播放器。
    
==== Trigger模式的支持 ====
 
==== Trigger模式的支持 ====
 +
Jetson系统的默认驱动只支持视频流模式。在其VI驱动中,数据接收功能具有超时机制。我们增加了一个可设的vi_time_out_disable选项,可以动态打开和关闭这个超时机制。
 +
 +
具体应用参考下面的应用范例。
 +
=== 系统状态检测 ===
 +
完成系统更新后,重启Jetson主板。
 +
 +
Jetson系统启动过程中,会检测所有i2c bus上摄像头是否存在,如果存在则生成/dev/videoX设备节点。
 +
 +
在Jetson板端执行以下命令来检测是否正确连接摄像头。
 +
 +
<code>dmesg | grep mvcam</code>
 +
 +
可以看到linux启动阶段probe到的相机型号和以及相机的版本号:
 +
 +
比如下面这个提示,表示在i2c-10总线上检测到了MV-MIPI-IMX178M摄像机。
 +
 +
<code>mvcam 10-003b: camera is: MV-MIPI-IMX178M</code>
 +
 +
<code>mvcam 10-003b: firmware version: 0x1080103</code>
 +
 +
==== /dev/videoX设备节点 ====
 +
摄像头模组在Jetson系统中映射为/dev/videoX设备节点。
 +
 +
操作系统启动过程中,按照i2c bus从小到大的顺序探测摄像头。X值是按照探测的逻辑顺序从0开始递增的。
 +
 +
举例说,如果只接入一个摄像头,无论硬件连接到哪个位置,X都为0。如果接入5个,则按照i2c bus从小到大,X为[0-4]。
 +
 +
v4l2-ctl命令中,使用<code>-d /dev/videoX</code>来访问不同的摄像头。
 +
 +
gstreamer中,v4l2src可以通过指明<code>device=/dev/videoX</code>来访问不同的摄像头。
 +
 +
=== 配置命令行全局变量 ===
 +
为了后面描述方便,此处根据sensor尺寸,配置全局变量。
 +
 +
* MV-MIPI-IMX178M
 +
 +
<code>export WIDTH=3088</code>
 +
 +
<code>export HEIGHT=2064</code>
 +
 +
<code>export FPS=22</code>
 +
 +
* MV-MIPI-SC130M
 +
 +
<code>export WIDTH=1280</code>
 +
 +
<code>export HEIGHT=1024</code>
 +
 +
<code>export FPS=108</code>
 +
 +
*MV-MIPI-IMX296M
 +
 +
<code>export WIDTH=1440</code>
 +
 +
<code>export HEIGHT=1088</code>
 +
 +
<code>export FPS=60</code>
 +
 +
*MV-MIPI-IMX265M
 +
 +
<code>export WIDTH=2048</code>
 +
 +
<code>export HEIGHT=1544</code>
 +
 +
<code>export FPS=45</code>
 +
 +
*MV-MIPI-IMX264M
 +
 +
<code>export WIDTH=2432</code>
 +
 +
<code>export HEIGHT=2056</code>
 +
 +
<code>export FPS=28</code>
 +
 +
* MV-MIPI-IMX287M
 +
 +
<code>export WIDTH=704</code>
 +
 +
<code>export HEIGHT=544</code>
 +
 +
<code>export FPS=319</code>
 +
 +
*RAW-MIPI-SC132M
   −
==== raw data图片格式说明 ====
+
<code>export WIDTH=1080</code>
   −
===== 系统状态验证 =====
+
<code>export HEIGHT=1280</code>
<br />
+
 
 +
<code>export FPS=120</code>
 +
 
 +
*RAW-MIPI-IMX462M
 +
 
 +
<code>export WIDTH=1920</code>
 +
 
 +
<code>export HEIGHT=1080</code>
 +
 
 +
<code>export FPS=60</code>
 +
 
 +
*RAW-MIPI-AR0234M
 +
 
 +
<code>export WIDTH=1920</code>
 +
 
 +
<code>export HEIGHT=1200</code>
    +
<code>export FPS=60</code>
 
=== v4l2-ctl 应用范例 ===
 
=== v4l2-ctl 应用范例 ===
<br />
+
=====安装v4l2-utils=====
 +
<code>sudo apt-get install v4l-utils</code>
 +
===== 使用v4l2-ctl配置参数 =====
 +
 
 +
====== 列出相机支持的数据格式 ======
 +
<code>v4l2-ctl --list-formats-ext</code>
 +
 
 +
下面是在XAVIER系统下,MV-MIPI-IMX178M的例子:
 +
 
 +
<code>ioctl: VIDIOC_ENUM_FMT</code>
 +
 
 +
<code>        Index       : 0</code>
 +
 
 +
<code>        Type        : Video Capture</code>
 +
 
 +
<code>        Pixel Format: 'UYVY'</code>
 +
 
 +
<code>        Name        : UYVY 4:2:2</code>
 +
 
 +
<code>                Size: Discrete 3088x2064</code>
 +
 
 +
<code>                        Interval: Discrete 0.045s (22.000 fps)</code>
 +
 
 +
<code>        Index       : 1</code>
 +
 
 +
<code>        Type        : Video Capture</code>
 +
 
 +
<code>        Pixel Format: 'NV16'</code>
 +
 
 +
<code>        Name        : Y/CbCr 4:2:2</code>
 +
 
 +
<code>                Size: Discrete 3088x2064</code>
 +
 
 +
<code>                        Interval: Discrete 0.045s (22.000 fps)</code>
 +
 
 +
<code>        Index       : 2</code>
 +
 
 +
<code>        Type        : Video Capture</code>
 +
 
 +
<code>        Pixel Format: 'GREY'</code>
 +
 
 +
<code>        Name        : 8-bit Greyscale</code>
 +
 
 +
<code>                Size: Discrete 3088x2064</code>
 +
 
 +
<code>                        Interval: Discrete 0.045s (22.000 fps)</code>
 +
 
 +
<code>        Index       : 3</code>
 +
 
 +
<code>        Type        : Video Capture</code>
 +
 
 +
<code>        Pixel Format: 'XY10'</code>
 +
 
 +
<code>        Name        : XAVIER 10-bit/16-bit Greyscale</code>
 +
 
 +
<code>                Size: Discrete 3088x2064</code>
 +
 
 +
<code>                        Interval: Discrete 0.045s (22.000 fps)</code>
 +
 
 +
<code>        Index       : 4</code>
 +
 
 +
<code>        Type        : Video Capture</code>
 +
 
 +
<code>        Pixel Format: 'XY12'</code>
 +
 
 +
<code>        Name        : XAVIER 12-bit/16-bit Greyscale</code>
 +
 
 +
<code>                Size: Discrete 3088x2064</code>
 +
 
 +
<code>                        Interval: Discrete 0.045s (22.000 fps)</code>
 +
 
 +
需要特别说明的是,MV系列相机提供的UYVY和NV16模式仅作调试使用,且最大宽度不能超过2880。
 +
 
 +
====== 列出驱动中实现的相机的可配置参数 ======
 +
<code>v4l2-ctl -L</code>
 +
 
 +
<code>User Controls</code>
 +
 
 +
<code>                   trigger_mode 0x00981901 (int)    : min=0 max=2 step=1 default=0 value=0 flags=volatile, execute-on-write</code>
 +
 
 +
<code>                    trigger_src 0x00981902 (int)    : min=0 max=1 step=1 default=1 value=1 flags=volatile, execute-on-write</code>
 +
 
 +
<code>                    soft_trgone 0x00981903 (button) : flags=write-only, execute-on-write</code>
 +
 
 +
<code>                     frame_rate 0x00981904 (int)    : min=1 max=22 step=1 default=22 value=22 flags=volatile, execute-on-write</code>
 +
 
 +
<code>                          roi_x 0x00981905 (int)    : min=0 max=2712 step=8 default=0 value=0</code>
 +
 
 +
<code>                          roi_y 0x00981906 (int)    : min=0 max=1744 step=4 default=0 value=0</code>
 +
 
 +
<code>Camera Controls</code>
 +
 
 +
<code>low_latency_mode 0x009a206d (bool)   : default=0 value=0</code>
 +
 
 +
<code>               preferred_stride 0x009a206e (int)    : min=0 max=65535 step=1 default=0 value=0</code>
 +
 
 +
<code>            vi_time_out_disable 0x009a2078 (bool)   : default=0 value=0</code>
 +
 
 +
可以使用下面的方法设置和获取参数。
 +
 
 +
<code>v4l2-ctl --set-ctrl [ctrl_type]=[val]</code>
 +
 
 +
<code>v4l2-ctl --get-ctrl [ctrl_type]</code>
 +
 
 +
以上所有功能,均可使用[[Mv mipi i2c.sh user guide|mv_mipi_i2c.sh]]实现。
 +
 
 +
需要指出的是,以上参数在开始取图的状态均不可修改。下面进行逐个说明:
 +
====== 配置触发模式======
 +
<code>v4l2-ctl --set-ctrl <small>trigger_mode=[0-2]</small></code>
 +
 
 +
0:流模式
 +
 
 +
1:普通触发模式
 +
 
 +
2:快速连续触发模式
 +
======配置触发源======
 +
<code>v4l2-ctl --set-ctrl <small>trigger_src=[0-1]</small></code>
 +
 
 +
0: 软触发
 +
 
 +
1: 硬触发
 +
====== 软触发一次======
 +
<code>v4l2-ctl --set-ctrl <small>soft_trgone=1</small></code>
 +
======设置帧率======
 +
<code>v4l2-ctl --set-ctrl frame_rate=[1-max]</code>
 +
 
 +
随分辨率的调整,最大帧率会自动更新。
 +
======设置ROI和数据格式======
 +
举例:
 +
 
 +
<code>v4l2-ctl --set-ctrl roi_x=0</code>
 +
 
 +
<code>v4l2-ctl --set-ctrl roi_y=0</code>
 +
 
 +
<code>v4l2-ctl --set-fmt-video=width=$WIDTH,height=$HEIGHT,pixelformat=GREY</code>
 +
 
 +
设置roi后,最大帧率会自动调整。请注意,摄像机roi参数需要符合摄像机手册中的要求。
 +
 
 +
====== preferred_stride ======
 +
preferred_stride指一行图像数据需要的内存大小。Jetson平台的图像数据是unpacked存储的,即10bit depth和12 bit depth的数据格式下,一个像素占用两个字节。
 +
 
 +
* 普通情况下,buffer需要64字节对齐。
 +
 
 +
preferred_stride= ALIGN_UP(width*bytes_per_pixel,64)
 +
 
 +
比如宽度为3088时:
 +
 
 +
8bit depth,preferred_stride=3136。
 +
 
 +
10bit depth,preferred_stride=6208。
 +
 
 +
12bit depth,preferred_stride=6208。
 +
 
 +
* 如果使用VIC buffer,则需要256字节对齐。
 +
 
 +
preferred_stride= ALIGN_UP(width*bytes_per_pixel,256)
 +
 
 +
==== 流模式 ====
 +
 
 +
=====设置图像格式=====
 +
以最大画面为例:
 +
 
 +
<code>v4l2-ctl --set-ctrl roi_x=0</code>
 +
 
 +
<code>v4l2-ctl --set-ctrl roi_y=0</code>
 +
 
 +
<code>v4l2-ctl --set-fmt-video=width=$WIDTH,height=$HEIGHT,pixelformat=GREY</code>
 +
 
 +
<code>v4l2-ctl --set-ctrl frame_rate=$FPS</code>
 +
=====帧率统计=====
 +
<code>v4l2-ctl --set-fmt-video=width=$WIDTH,height=$HEIGHT,pixelformat=GREY --stream-mmap --stream-count=-1 --stream-to=/dev/null</code>
 +
===== 保存图片到文件 =====
 +
 
 +
====== MV-MIPI-IMX178M ======
 +
 
 +
* raw8格式
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-ctrl preferred_stride=3136</code>
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=3088,height=2064,pixelformat=GREY --stream-mmap --stream-count=1 --stream-to=y8-3136x2064.raw</code>
 +
 
 +
* raw10格式
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-ctrl preferred_stride=6208</code>
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=3088,height=2064,pixelformat=XY10 --stream-mmap --stream-count=1 --stream-to=y10-3104x2064.raw</code>
 +
 
 +
* raw12格式
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-ctrl preferred_stride=6208</code>
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=3088,height=2064,pixelformat=XY12 --stream-mmap --stream-count=1 --stream-to=y12-3104x2064.raw</code>
 +
 
 +
====== MV-MIPI-SC130M ======
 +
由于宽度1280是64和256的整数倍,不需要设置preferred_stride。
 +
 
 +
*raw8格式
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=1280,height=1024,pixelformat=GREY --stream-mmap --stream-count=1 --stream-to=y8-1280x1024.raw</code>
 +
 
 +
* raw10格式
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=1280,height=1024,pixelformat=XY10 --stream-mmap --stream-count=1 --stream-to=y10-1280x1024.raw</code>
 +
 
 +
====== MV-MIPI-IMX296M ======
 +
 
 +
*raw8格式
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-ctrl preferred_stride=1472</code>
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=1440,height=1088,pixelformat=GREY --stream-mmap --stream-count=1 --stream-to=y8-1472x1088.raw</code>
 +
 
 +
* raw10格式
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=1440,height=1088,pixelformat=XY10 --stream-mmap --stream-count=1 --stream-to=y10-1440x1088.raw</code>
 +
 
 +
====== MV-MIPI-IMX265M ======
 +
 
 +
* raw8格式
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=2048,height=1544,pixelformat=GREY --stream-mmap --stream-count=1 --stream-to=y8-2048x1544.raw</code>
 +
 
 +
* raw10格式
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=2048,height=1544,pixelformat=XY10 --stream-mmap --stream-count=1 --stream-to=y10-2048x1544.raw</code>
 +
 
 +
* raw12格式
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=2048,height=1544,pixelformat=XY12 --stream-mmap --stream-count=1 --stream-to=y12-2048x1544.raw</code>
 +
======MV-MIPI-IMX264M======
 +
 
 +
*raw8
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=2432,height=2056,pixelformat=GREY --stream-mmap --stream-count=1 --stream-to=y8-2432x2056.raw</code>
 +
 
 +
*raw10
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=2432,height=2056,pixelformat=XY10 --stream-mmap --stream-count=1 --stream-to=y10-2432x2056.raw</code>
 +
 
 +
*raw12
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=2432,height=2056,pixelformat=XY12 --stream-mmap --stream-count=1 --stream-to=y12-2432x2056.raw</code>
 +
====== RAW-MIPI-SC132M ======
 +
 
 +
* raw8格式
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-ctrl preferred_stride=1088</code>
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=1080,height=1280,pixelformat=GREY --stream-mmap --stream-count=1 --stream-to=y8-1088x1280.raw</code>
 +
 
 +
* raw10格式
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=1080,height=1280,pixelformat=XY10 --stream-mmap --stream-count=1 --stream-to=y10-1080x1280.raw</code>
 +
======MV-MIPI-IMX287M======
 +
 
 +
*raw8
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=704,height=544,pixelformat=GREY --stream-mmap --stream-count=1 --stream-to=y8-704x544.raw</code>
 +
 
 +
*raw10
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=704,height=544,pixelformat=XY10 --stream-mmap --stream-count=1 --stream-to=y10-704x544.raw</code>
 +
 
 +
*raw12
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=704,height=544,pixelformat=XY12 --stream-mmap --stream-count=1 --stream-to=y12-704x544.raw</code>
 +
======RAW-MIPI-AR0234M======
 +
 
 +
*raw8格式
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1200,pixelformat=GREY --stream-mmap --stream-count=1 --stream-to=y8-1920x1200.raw</code>
 +
 
 +
*raw10格式
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1200,pixelformat=XY10  --stream-mmap --stream-count=1 --stream-to=y10-1920x1200.raw</code>
 +
======RAW-MIPI-IMX462M======
 +
 
 +
*raw10格式
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1088,pixelformat=XY10 --stream-mmap --stream-count=1 --stream-to=y10-1920x1088.raw</code>
 +
 
 +
*raw12格式
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1088,pixelformat=XY12 --stream-mmap --stream-count=1 --stream-to=y12-1920x1088.raw</code>
 +
 
 +
图片格式请参考上面:raw data图片格式说明 章节。
 +
 
 +
===== 实时预览 =====
 +
对于支持GREY格式的摄像头,可以使用qv4l2或者vlc进行视频预览。
 +
 
 +
======使用qv4l2预览画面======
 +
Install qv4l2,
 +
 
 +
<code>sudo apt install qv4l2</code>
 +
 
 +
1. Open VLC with command line <code>vlc</code> to launch.
 +
 
 +
2. Hit the <code>▶</code>(Play) button to call the open media window.[[File:Mvcam via qv4l2.png|center|thumb|800x800px|Play mv camera using qv4l2|link=http://wiki.veye.cc/index.php/File:Mvcam_via_qv4l2.png]]<br />
 +
======使用VLC预览画面======
 +
Install vlc,
 +
 
 +
<code>sudo apt-get install vlc</code>
 +
 
 +
1. Open VLC with command line <code>vlc</code> , or click the icon to launch.
 +
 
 +
2. Hit the <code>▶</code>(Play) button to call the open media window.
 +
 
 +
3. In <code>Capture Device</code> >> <code>Device Selection</code> >> <code>Video device name</code>, select the camera video node.
 +
 
 +
4. Hit <code>Advanced Options...</code> button
 +
 
 +
5. Type in the <code>width</code> and <code>height</code>, for example, 1280 and 1024.
 +
 
 +
6. Hit <code>OK</code> to save the settings and see the video feed.
 +
<br />[[File:Mvcam via VLC.png|center|thumb|800x800px|Play mv camera using VLC|link=http://wiki.veye.cc/index.php/File:Mvcam_via_VLC.png]]
 +
====== 使用gstreamer预览UYVY格式图像 ======
 +
'''注''':为了提高最高帧率和带宽,部分模组升级固件后不再提供UYVY格式。具体请通过脚本的fmtcap指令读取寄存器确认。
 +
 
 +
<code>export DISPLAY=:0</code>
 +
 
 +
UYVY模式支持的最大宽度为2880,使用如下命令可以进行实时预览。
 +
 
 +
* MV-MIPI-IMX178M
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=2816,height=2064,pixelformat=UYVY</code>
 +
 
 +
<code>gst-launch-1.0 v4l2src device=/dev/video0 ! "video/x-raw,format=(string)UYVY, width=(int)2816, height=(int)2064, framerate=(fraction)22/1" ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)I420" ! nv3dsink sync=false</code>
 +
 
 +
* MV-MIPI-SC130M, MV-MIPI-IMX296M,  MV-MIPI-IMX265M,MV-MIPI-IMX264M,MV-MIPI-IMX287M
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=$WIDTH,height=$HEIGHT,pixelformat=UYVY</code>
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-ctrl frame_rate=$FPS</code>
 +
 
 +
<code>gst-launch-1.0 v4l2src device=/dev/video0 ! "video/x-raw,format=(string)UYVY, width=(int)$WIDTH, height=(int)$HEIGHT, framerate=(fraction)$FPS/1" ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)I420" ! nv3dsink sync=false</code>
 +
 
 +
====== 使用opencv预览GREY格式图像 ======
 +
<code>sudo apt install python3-opencv</code>
 +
 
 +
* 我们提供了一个简单的[https://github.com/veyeimaging/nvidia_jetson_veye_bsp/tree/master/samples/opencv/raw_camera sample]实现此功能:
 +
 
 +
<code>python ./v4l2dev_2_opencv_show_grey.py --roix 0 --roiy 0 --width 640 --height 480 --fps 30</code>
 +
 
 +
==== 触发模式 ====
 +
=====准备工作=====
 +
<code>v4l2-ctl --set-ctrl roi_x=0</code>
 +
 
 +
<code>v4l2-ctl --set-ctrl roi_y=0</code>
 +
 
 +
<code>v4l2-ctl --set-ctrl low_latency_mode=1</code>
 +
 
 +
<code>v4l2-ctl --set-fmt-video=width=$WIDTH,height=$HEIGHT,pixelformat=GREY</code>
 +
 
 +
<code>v4l2-ctl --set-ctrl frame_rate=$FPS</code>
 +
 
 +
如有必要,设置合适的preferred_stride.
 +
 
 +
比如,MV-MIPI-IMX178M,3088*2064:
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-ctrl preferred_stride=3136</code>
 +
 
 +
比如,MV-MIPI-IMX296M,1440*1088:
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-ctrl preferred_stride=1472</code>
 +
 
 +
===== 软触发 =====
 +
 
 +
======设置模式======
 +
<code>v4l2-ctl --set-ctrl <small>trigger_mode=1</small></code>
 +
 
 +
<code>v4l2-ctl --set-ctrl <small>trigger_src=0</small></code>
 +
 
 +
<code>v4l2-ctl --set-ctrl vi_time_out_disable=1</code>
 +
======开始取图======
 +
 
 +
* MV-MIPI-IMX178M
 +
 
 +
<code>v4l2-ctl --set-fmt-video=width=3088,height=2064,pixelformat=GREY --stream-mmap --stream-count=-1 --stream-to=y8-3104x2064.raw</code>
 +
 
 +
* MV-MIPI-SC130M
 +
 
 +
<code>v4l2-ctl --set-fmt-video=width=1280,height=1024,pixelformat=GREY --stream-mmap --stream-count=-1 --stream-to=y8-1280x1024.raw</code>
 +
 
 +
*MV-MIPI-IMX296M
 +
 
 +
<code>v4l2-ctl --set-fmt-video=width=1440,height=1088,pixelformat=GREY --stream-mmap --stream-count=-1 --stream-to=y8-1472x1088.raw</code>
 +
 
 +
*MV-MIPI-IMX265M
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=2048,height=1544,pixelformat=GREY --stream-mmap --stream-count=-1 --stream-to=y8-2048x1544.raw</code>
 +
 
 +
*MV-MIPI-IMX264M
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=2432,height=2048,pixelformat=GREY --stream-mmap --stream-count=-1 --stream-to=y8-2432x2048.raw</code>
 +
 
 +
*RAW-MIPI-SC132M
 +
 
 +
<code>v4l2-ctl --set-fmt-video=width=1080,height=1280,pixelformat=GREY --stream-mmap --stream-count=-1 --stream-to=y8-1080x1280.raw</code>
 +
 
 +
*MV-MIPI-IMX287M
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=704,height=544,pixelformat=GREY --stream-mmap --stream-count=-1 --stream-to=y8-704x544.raw</code>
 +
 
 +
*RAW-MIPI-AR0234M
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1200,pixelformat=GREY --stream-mmap --stream-count=-1 --stream-to=y8-1920x1200.raw</code>
 +
 
 +
*RAW-MIPI-IMX462M
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1088,pixelformat=XY10 --stream-mmap --stream-count=-1 --stream-to=y8-1920x1088.raw</code>
 +
======进行软触发操作======
 +
在其他的shell终端,可以多次执行下面命令进行多次触发。
 +
 
 +
<code>v4l2-ctl --set-ctrl <small>soft_trgone=1</small></code>
 +
 
 +
====== 停止触发和采集 ======
 +
由于内核驱动中,死循环等待新图片,因此需要先取消vi_time_out_disable,然后再退出采集操作。
 +
 
 +
<code>v4l2-ctl --set-ctrl vi_time_out_disable=0</code>
 +
 
 +
在取图命令的终端中,按Ctrl+C退出采集操作。
 +
 
 +
===== 硬触发 =====
 +
使用[https://github.com/NVIDIA/jetson-gpio jetson-gpio]进行触发操作,首先请安装并配置好jetson-gpio。
 +
 
 +
下面以使用jetson GPIO40(Board num)为模拟触发源,上升沿触发为例。
 +
 
 +
可以使用[[Mv mipi i2c.sh user guide|mv_mipi_i2c.sh]]脚本进行丰富的触发参数设置。
 +
 
 +
====== 硬件连接 ======
 +
 
 +
* 使用ADP-MV1时
 +
 
 +
[[File:MV camera hardware trigger connection.jpg|center|thumb|800x800px|MV camera hardware trigger connection]]
 +
 
 +
* 使用ADP-N4时
 +
 
 +
如采用公共触发源连接,则首先将J7成对短接,然后将jetson GPIO40接到J19-1。
 +
[[File:ADP-N4 common trigger source.jpg|center|thumb|800x800px|ADP-N4 common trigger source]]
 +
 
 +
如采用独立触发源连接,则直接将 GPIO40接到J7-1---J7-11。
 +
======设置模式======
 +
<code>v4l2-ctl --set-ctrl <small>trigger_mode=1</small></code>
 +
 
 +
<code>v4l2-ctl --set-ctrl <small>trigger_src=1</small></code>
 +
 
 +
<code>v4l2-ctl --set-ctrl vi_time_out_disable=1</code>
 +
======开始取图======
 +
 
 +
* MV-MIPI-IMX178M
 +
 
 +
<code>v4l2-ctl --set-fmt-video=width=3088,height=2064,pixelformat=GREY --stream-mmap --stream-count=-1 --stream-to=y8-3104x2064.raw</code>
 +
 
 +
* MV-MIPI-SC130M
 +
 
 +
<code>v4l2-ctl --set-fmt-video=width=1280,height=1024,pixelformat=GREY --stream-mmap --stream-count=-1 --stream-to=y8-1280x1024.raw</code>
 +
======进行硬触发操作======
 +
<code>python gpio_trigger_jetson.py</code>
 +
 
 +
Note:触发脚本[https://github.com/veyeimaging/nvidia_jetson_veye_bsp/tree/master/mv_tools_jetson/examples/v4l2grab_mvcam 链接]。
 +
====== 停止触发和采集 ======
 +
由于内核驱动中,死循环等待新图片,因此需要先取消vi_time_out_disable,然后再退出采集操作。
 +
 
 +
<code>v4l2-ctl --set-ctrl vi_time_out_disable=0</code>
 +
 
 +
在取图命令的终端中,按Ctrl+C退出采集操作。
 +
 
 +
=== Application demo ===
 +
 
 +
==== v4l2grab_mvcam_jetson ====
 +
v4l2grab_mvcam是一个C语言开发的sample,支持流模式和触发模式。
 +
 
 +
代码以及使用请参考:https://github.com/veyeimaging/nvidia_jetson_veye_bsp/tree/master/mv_tools_jetson/examples/v4l2grab_mvcam<nowiki/>。
 +
 
 +
==== yavta(仅支持流模式) ====
 +
 
 +
=====yavta安装=====
 +
<code>git clone <nowiki>https://github.com/veyeimaging/yavta.git</nowiki></code>
 +
 
 +
<code>cd yavta;make</code>
 +
 
 +
=====设置图像格式=====
 +
<code>v4l2-ctl --set-ctrl roi_x=0</code>
 +
 
 +
<code>v4l2-ctl --set-ctrl roi_y=0</code>
 +
 
 +
<code>v4l2-ctl --set-fmt-video=width=$WIDTH,height=$HEIGHT,pixelformat=GREY</code>
 +
===== 保存图片到文件 =====
 +
 
 +
====== MV-MIPI-IMX178M ======
 +
 
 +
* raw8格式
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-ctrl preferred_stride=3136</code>
 +
 
 +
<code>./yavta -c1 -Fy8-3136x2064.raw --skip 0 -f Y8 -s 3088x2064 /dev/video0</code>
 +
 
 +
* raw10格式
 +
 
 +
以XAVIER平台为例
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-ctrl preferred_stride=6208</code>
 +
 
 +
<code>./yavta -c1 -Fy10-3104x2064.raw --skip 0 -f XY10 -s 3088x2064 /dev/video0</code>
 +
 
 +
* raw12格式
 +
 
 +
以XAVIER平台为例
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-ctrl preferred_stride=6208</code>
 +
 
 +
<code>./yavta -c1 -Fy12-3104x2064.raw --skip 0 -f XY12 -s 3088x2064 /dev/video0</code>
 +
 
 +
====== MV-MIPI-SC130M ======
 +
 
 +
* raw8格式
 +
 
 +
<code>./yavta -c1 -Fy8-1280x1024.raw --skip 0 -f Y8 -s 1280x1024 /dev/video0</code>
 +
 
 +
* raw10格式
 +
 
 +
以XAVIER平台为例
 +
 
 +
<code>./yavta -c1 -Fy10-1280x1024.raw --skip 0 -f XY10 -s 1280x1024 /dev/video0</code>
 +
 
 +
====== MV-MIPI-IMX296M ======
 +
 
 +
*raw8格式
 +
 
 +
<code>v4l2-ctl -d /dev/video0 --set-ctrl preferred_stride=1472</code>
 +
 
 +
<code>./yavta -c1 -Fy8-1472x1024.raw --skip 0 -f Y8 -s 1440x1088 /dev/video0</code>
 +
 
 +
* raw10格式
 +
 
 +
以XAVIER平台为例
 +
 
 +
<code>./yavta -c1 -Fy10-1440x1024.raw --skip 0 -f XY10 -s 1440x1088 /dev/video0</code>
 +
 
 +
====== MV-MIPI-IMX265M ======
 +
 
 +
* raw8格式
 +
 
 +
<code>./yavta -c1 -Fy8-2048x1544.raw --skip 0 -f Y8 -s 2048x1544 /dev/video0</code>
 +
 
 +
* raw10格式
 +
 
 +
以XAVIER平台为例
 +
 
 +
<code>./yavta -c1 -Fy10-2048x1544.raw --skip 0 -f XY10 -s 2048x1544 /dev/video0</code>
 +
 
 +
* raw12格式
 +
 
 +
以XAVIER平台为例
 +
 
 +
<code>./yavta -c1 -Fy12-2048x1544.raw --skip 0 -f XY12 -s 2048x1544 /dev/video0</code>
 +
 
 +
====== MV-MIPI-IMX264M ======
 +
 
 +
* raw8格式
 +
 
 +
<code>./yavta -c1 -Fy8-2432x2048.raw --skip 0 -f Y8 -s 2432x2048 /dev/video0</code>
 +
 
 +
* raw10格式
 +
 
 +
以XAVIER平台为例
 +
 
 +
<code>./yavta -c1 -Fy10-2432x2048.raw --skip 0 -f XY10 -s 2432x2048 /dev/video0</code>
 +
 
 +
* raw12格式
 +
 
 +
以XAVIER平台为例
 +
 
 +
<code>./yavta -c1 -Fy12-2432x2048.raw --skip 0 -f XY12 -s 2432x2048 /dev/video0</code>
 +
====== RAW-MIPI-SC132M ======
 +
 
 +
* raw8
 +
 
 +
<code>./yavta -c1 -Fy8-1080x1280.raw --skip 0 -f Y8 -s 1080x1280 /dev/video0</code>
 +
 
 +
* raw10
 +
 
 +
以XAVIER平台为例.
 +
 
 +
<code>./yavta -c1 -Fy10-1080x1280.raw --skip 0 -f XY10 -s 1080x1280 /dev/video0</code>
 +
====== MV-MIPI-IMX287M ======
 +
 
 +
* raw8格式
 +
 
 +
<code>./yavta -c1 -Fy8-704x544.raw --skip 0 -f Y8 -s 704x544 /dev/video0</code>
 +
 
 +
* raw10格式
 +
 
 +
以XAVIER平台为例
 +
 
 +
<code>./yavta -c1 -Fy10-704x544.raw --skip 0 -f XY10 -s 704x544 /dev/video0</code>
 +
 
 +
* raw12格式
 +
 
 +
以XAVIER平台为例
 +
 
 +
<code>./yavta -c1 -Fy12-704x544.raw --skip 0 -f XY12 -s 704x544 /dev/video0</code>
 +
====== RAW-MIPI-AR0234M ======
 +
 
 +
* raw8
 +
 
 +
<code>./yavta -c1 -Fy8-1920x1200.raw --skip 0 -f Y8 -s 1920x1200 /dev/video0</code>
 +
 
 +
* raw10
 +
 
 +
以XAVIER平台为例.
 +
 
 +
<code>./yavta -c1 -Fy10-1920x1200.raw --skip 0 -f XY10 -s 1920x1200 /dev/video0</code>
 +
====== RAW-MIPI-IMX462M ======
 +
以XAVIER平台为例.
 +
 
 +
* raw12
 +
 
 +
<code>./yavta -c1 -Fy12-1920x1088.raw --skip 0 -f XY12 -s 1920x1088 /dev/video0</code>
 +
 
 +
* raw10
 +
 
 +
<code>./yavta -c1 -Fy10-1920x1088.raw --skip 0 -f XY10 -s 1920x1088 /dev/video0</code>
 +
 
 +
图片格式请参考上面:raw data图片格式说明 章节。
    
=== i2c脚本使用说明 ===
 
=== i2c脚本使用说明 ===
 +
我们提供了shell脚本来配置参数。
    +
[[mv_mipi_i2c.sh user guide]]
 
=== 参考资料 ===
 
=== 参考资料 ===
 +
=== 本文修改记录 ===
   −
=== 本文修改记录 ===
+
*2023-08-29
 +
 
 +
增加对RAW-MIPI-IMX462M和RAW-MIPI-AR0234M的支持。
 +
 
 +
* 2023-07-31
 +
 
 +
调通V-by-One连接的驱动。
 +
 
 +
* 2023-06-07
 +
 
 +
增加使用qv4l2和VLC预览画面的方法。
 +
 
 +
*2023-04-27
 +
 
 +
支持Jetpack5.1.1.
 +
 
 +
* 2023-04-16
 +
 
 +
去掉flip和mirror的ioctl功能。
 +
 
 +
* 2023-03-29
 +
 
 +
增加opencv sample。
 +
 
 +
*2023-03-37
 +
 
 +
增加MV-MIPI-IMX287M的相关描述。
 +
 
 +
*2023-02-22
 +
 
 +
支持Jetpack5.1
 +
 
 +
*2022-12-11
 +
 
 +
增加MV-MIPI-IMX264M的相关描述。
 +
 
 +
* 2022-10-14
 +
 
 +
增加MV-MIPI-IMX296M和MV-MIPI-IMX265M的相关描述。
 +
 
 +
* 2022-08-31
 +
 
 +
支持Jetpack5.0.2
 +
 
 +
*2022-06-23
 +
 
 +
增加ADP-N4的相关描述
 +
 
 +
* 2022-05-20
 +
 
 +
第一个发布版本

Navigation menu