Difference between revisions of "GX mipi camera manual/zh"

From wiki_veye
Jump to navigation Jump to search
 
(20 intermediate revisions by the same user not shown)
Line 17: Line 17:
 
*各嵌入式平台的驱动与使用指南
 
*各嵌入式平台的驱动与使用指南
  
在本文档中,每个功能章节均包含 '''[相关命令]''' 一栏,用于列出与该功能相关的 '''<code>[[Gx mipi i2c.sh user guide/zh|gx_mipi_i2c.sh]]</code>''' 脚本命令,方便用户进行功能配置与调试。
+
在本文档中,每个功能章节均包含 '''[脚本函数]''' 一栏,用于列出与该功能相关的 '''<code>[[Gx mipi i2c.sh user guide/zh|gx_mipi_i2c.sh]]</code>''' 脚本命令,方便用户进行功能配置与调试。
  
 
====摄像机型号列表====
 
====摄像机型号列表====
Line 41: Line 41:
 
|Golbal  Shutter
 
|Golbal  Shutter
 
|}
 
|}
 +
 +
===基础功能===
 +
本章节介绍相机的基础管理功能,包括设备信息读取、参数管理和系统控制。
 +
 +
通过这些寄存器,用户可以获取设备标识信息、管理相机配置参数,并执行系统级操作。
 +
 +
====设备信息====
 +
相机提供多个只读寄存器,用于查询设备的基本信息。这些信息可用于设备识别、系统管理以及软件调试。
 +
 +
包括:
 +
 +
*制造商名称
 +
*产品型号
 +
*传感器型号
 +
*设备序列号
 +
*固件版本
 +
 +
=====制造商名称=====
 +
相机制造商名称。
 +
 +
脚本函数:manufacturer
 +
 +
=====产品型号=====
 +
相机型号标识。
 +
 +
脚本函数:model
 +
 +
=====传感器型号=====
 +
相机所使用的图像传感器型号。
 +
 +
脚本函数:sensorname
 +
 +
=====序列号=====
 +
每台相机在出厂时都会分配唯一的序列号,该序列号包含生产日期批次及编号。
 +
 +
脚本函数:serialno
 +
 +
=====固件版本=====
 +
返回相机的固件版本信息。
 +
 +
该寄存器为 32 位数据:0xAABBCCDD
 +
 +
其中:
 +
 +
*'''AA.BB''' 表示控制程序版本(C version)
 +
*'''CC.DD''' 表示逻辑程序版本(L version)
 +
 +
====参数管理====
 +
相机支持将当前配置参数保存到内部 Flash 中。
 +
 +
保存后的参数在相机重新上电后会自动加载。
 +
 +
=====参数保存=====
 +
将当前相机参数保存到 Flash 中。
 +
 +
注意事项:
 +
 +
*该操作会 '''擦除并重写系统 Flash'''
 +
*操作过程中 '''必须保证电源稳定'''
 +
*不建议频繁执行该操作
 +
 +
脚本函数:paramsave
 +
 +
=====恢复出厂参数=====
 +
将相机参数恢复为出厂默认配置。
 +
 +
注意事项:
 +
 +
*该操作会 '''擦除并重写系统 Flash'''
 +
*操作过程中 '''必须保证电源稳定'''
 +
*不建议频繁执行恢复出厂操作
 +
 +
脚本函数:factoryparam
 +
 +
====系统控制====
 +
相机提供一些基本的系统控制功能,例如设备重启和系统运行时间查询。
 +
 +
=====系统重启=====
 +
执行该操作会使相机重新启动。
 +
 +
脚本函数:reboot
 +
 +
=====系统时间戳=====
 +
相机自启动以来的运行时间。
 +
 +
该参数可用于:
 +
 +
*系统调试
 +
*设备运行时间统计
 +
*简单同步参考
 +
 +
脚本函数:timestamp
 +
 +
=====I²C 地址配置=====
 +
相机支持通过寄存器配置设备的 '''I²C 通信地址'''。
 +
 +
用户可以根据系统需求修改相机的 I²C 地址,以避免多设备系统中的地址冲突。
 +
 +
配置说明:
 +
 +
*可设置的地址范围:'''0x08 – 0x77'''
 +
*修改后需要执行 '''参数保存''' 操作
 +
*新地址在 '''设备重启后生效'''
 +
 +
脚本函数:i2caddr
 +
 
===图像采集===
 
===图像采集===
 
====卷帘式曝光和全局曝光====
 
====卷帘式曝光和全局曝光====
Line 112: Line 218:
 
一般情况下,驱动会自动发送开始/停止采集命令,用户无需主动控制寄存器。
 
一般情况下,驱动会自动发送开始/停止采集命令,用户无需主动控制寄存器。
  
相关命令:imgacq。
+
脚本函数:imgacq。
 
====图像模式====
 
====图像模式====
 
GX系列相机支持多种视频模式(videomode),每种模式对应特定的分辨率、最大帧率以及图像读出方式。
 
GX系列相机支持多种视频模式(videomode),每种模式对应特定的分辨率、最大帧率以及图像读出方式。
Line 165: Line 271:
 
|60fps
 
|60fps
 
|Normal
 
|Normal
|}相关命令 :videomodecap,videomodenum, vidoemodewh1-vidoemodewh8,videomodeparam1-videomodeparam8,videomode,fps,maxfps。
+
|}脚本函数 :videomodecap,videomodenum, vidoemodewh1-vidoemodewh8,videomodeparam1-videomodeparam8,videomode,fps,maxfps, curwh。
 +
 
 +
=====像素读出模式=====
 +
GX 系列相机支持多种像素读出模式:'''Normal Mode、Binning Mode 和 Subsampling Mode'''。不同模式在分辨率、信噪比和数据带宽方面有不同特点,可根据应用需求选择。
 +
 
 +
*'''Normal Mode(普通模式)'''
 +
 
 +
传感器按完整像素阵列逐行读出,每个像素均参与采集和输出。该模式提供最高分辨率和最佳图像细节,但数据带宽需求较高。
 +
 
 +
*'''Binning Mode(像素合并模式)'''
 +
 
 +
将相邻像素在传感器内部合并后输出,提升信噪比和低照度性能,同时降低分辨率和数据带宽。适用于低光或高灵敏度应用。
 +
 
 +
*'''Subsampling Mode(子采样模式)'''
 +
 
 +
按固定间隔选择像素读出,降低分辨率和数据量,但信噪比基本不变。适用于提升帧率或降低带宽需求的场景。
 +
 
 +
'''模式对比'''
 +
{| class="wikitable"
 +
!模式
 +
!读出方式
 +
!分辨率
 +
!信噪比
 +
!数据带宽
 +
|-
 +
|Normal
 +
|全像素读出
 +
|高
 +
|原始水平
 +
|高
 +
|-
 +
|Binning
 +
|像素合并
 +
|中
 +
|提高
 +
|低
 +
|-
 +
|Subsampling
 +
|间隔采样
 +
|中
 +
|基本不变
 +
|低
 +
|}
 +
 
 +
=====当前图像参数=====
 +
相机提供了一系列寄存器,用于在二次开发或调试时准确读取当前工作模式的图像宽高及读出模式。
 +
 
 +
脚本函数''':''' <code>curwh</code>、<code>readmode</code>
 +
 
 +
======像素格式======
 +
相机输出格式符合MIPI CSI-2标准,现阶段支持的像素格式为UYVY和YUYV,默认为UYVY。
 +
 
 +
脚本函数: pixelformat
 +
=====帧率配置=====
 +
 
 +
======帧率范围======
 +
相机提供当前工作模式下支持的最小和最大帧率,可通过只读寄存器获取。
 +
 
 +
脚本函数: <code>minfps</code>、<code>maxfps</code>
 +
 
 +
======设置帧率======
 +
在最小帧率与最大帧率范围内,可自由设置当前帧率。需要注意的是,帧率设置必须在停止采集(Standby 状态)下进行,以确保设置生效。
 +
 
 +
脚本函数: <code>fps</code>
 +
 
 +
======帧数统计======
 +
相机支持对 '''Sensor 输出帧数''' 和 '''相机输出帧数''' 进行统计。每次开始采集操作时,帧数计数会重新开始。
 +
 
 +
脚本函数: <code>framecount</code>
 +
 
 
====工作模式====
 
====工作模式====
 
相机可能支持多种工作模式,包括视频流模式(Video Stream Mode)、普通触发模式(Normal Trigger Mode)、电平触发模式(Level Trigger Mode)以及多相机同步模式(Multi-camera synchronization mode)。
 
相机可能支持多种工作模式,包括视频流模式(Video Stream Mode)、普通触发模式(Normal Trigger Mode)、电平触发模式(Level Trigger Mode)以及多相机同步模式(Multi-camera synchronization mode)。
Line 171: Line 346:
 
不同型号的相机支持的工作模式类型可能有所差异,可通过workmodecap命令进行查询。
 
不同型号的相机支持的工作模式类型可能有所差异,可通过workmodecap命令进行查询。
  
相关命令:workmodecap,workmode
+
脚本函数:workmodecap,workmode
 
=====工作模式的切换=====
 
=====工作模式的切换=====
 
在摄像机运行过程中,工作模式不能直接切换。
 
在摄像机运行过程中,工作模式不能直接切换。
Line 182: Line 357:
 
#再次启动采集
 
#再次启动采集
  
相关命令:workmode
+
脚本函数:workmode
 
=====视频流模式=====
 
=====视频流模式=====
 
在视频流模式下,摄像机会按照设定的 '''图像模式(videomode)''' 和 '''帧率(fps)''' 连续进行曝光并输出图像数据。
 
在视频流模式下,摄像机会按照设定的 '''图像模式(videomode)''' 和 '''帧率(fps)''' 连续进行曝光并输出图像数据。
Line 188: Line 363:
 
通常情况下,驱动程序会依据应用层对图像模式(videomode)和帧率(FPS)的配置自动完成寄存器设置,用户无需手动操作寄存器。
 
通常情况下,驱动程序会依据应用层对图像模式(videomode)和帧率(FPS)的配置自动完成寄存器设置,用户无需手动操作寄存器。
  
相关命令 :videomode,fps,maxfps。
+
脚本函数 :videomode,fps,maxfps。
 
=====普通触发模式=====
 
=====普通触发模式=====
 
======卷帘式曝光(Rolling shutter)======
 
======卷帘式曝光(Rolling shutter)======
Line 202: Line 377:
 
[[File:GX trigger timing.png|center|thumb|800x800px|GX trigger timing( Rolling shutter)]]
 
[[File:GX trigger timing.png|center|thumb|800x800px|GX trigger timing( Rolling shutter)]]
 
<br />
 
<br />
 +
 +
脚本函数 :trgnum,trginterval,trgsrc,trgexp_delay,trgdelay,triggercyclemin。
 +
 
======类Smartsens 的全局曝光(Global shutter)======
 
======类Smartsens 的全局曝光(Global shutter)======
 
本节适用型号:GX-MIPI-AR0234。
 
本节适用型号:GX-MIPI-AR0234。
Line 217: Line 395:
  
 
下图以触发触发帧数设置为2为例:[[File:Normal trigger mode (Global shutter).png|center|thumb|800x800px|Normal trigger mode (Global shutter)|link=http://wiki.veye.cc/index.php/File:Normal_trigger_mode_(Global_shutter).png]]
 
下图以触发触发帧数设置为2为例:[[File:Normal trigger mode (Global shutter).png|center|thumb|800x800px|Normal trigger mode (Global shutter)|link=http://wiki.veye.cc/index.php/File:Normal_trigger_mode_(Global_shutter).png]]
<br />
+
<br />脚本函数 :trgnum,trginterval,trgsrc,trgexp_delay,trgdelay,triggercyclemin。
 
======触发源======
 
======触发源======
 
摄像机支持软触发和硬触发两种触发源,这两种方式只是触发信号来源不同。触发延迟、曝光延迟、触发帧数、触发间隔等配置和功能完全一致。
 
摄像机支持软触发和硬触发两种触发源,这两种方式只是触发信号来源不同。触发延迟、曝光延迟、触发帧数、触发间隔等配置和功能完全一致。
Line 223: Line 401:
 
注意,触发源设置仅对普通触发模式和滚动快门多帧触发模式有效。
 
注意,触发源设置仅对普通触发模式和滚动快门多帧触发模式有效。
  
相关命令:trgsrc。
+
脚本函数:trgsrc。
  
* 软触发
+
*软触发
  
 
通过i2c总线,向摄像机对应寄存器写入1,则进行了一次软触发。
 
通过i2c总线,向摄像机对应寄存器写入1,则进行了一次软触发。
Line 231: Line 409:
 
由于软件处理和i2c传输均存在一定的延时,因此软触发的及时性比硬触发要差,对及时性要求高的场合,建议采用硬触发。
 
由于软件处理和i2c传输均存在一定的延时,因此软触发的及时性比硬触发要差,对及时性要求高的场合,建议采用硬触发。
  
相关命令:trgone。
+
脚本函数:trgone。
  
* 硬触发
+
*硬触发
  
 
硬触发模式下,摄像机通过采集TrigIN IO的电平变化获得触发信号。详情见IO控制章节。
 
硬触发模式下,摄像机通过采集TrigIN IO的电平变化获得触发信号。详情见IO控制章节。
 +
 +
脚本函数:trgedge。
 
======触发统计======
 
======触发统计======
 
触发统计功能统计了总触发数量以及触发丢失的数量。
 
触发统计功能统计了总触发数量以及触发丢失的数量。
Line 245: Line 425:
 
切换工作模式或者触发源,不会自动清空此统计。
 
切换工作模式或者触发源,不会自动清空此统计。
  
相关命令:trgcount,trgclr。
+
脚本函数:trgcount,trgclr。
 
=====同步模式=====
 
=====同步模式=====
 
本节适用型号:GX-MIPI-IMX662,GX-MIPI-IMX664。
 
本节适用型号:GX-MIPI-IMX662,GX-MIPI-IMX664。
Line 255: Line 435:
 
在该模式下,每个摄像机模组的曝光参数既可以配置为 '''手动(Manual)''',也可以配置为 '''自动(Auto)'''。
 
在该模式下,每个摄像机模组的曝光参数既可以配置为 '''手动(Manual)''',也可以配置为 '''自动(Auto)'''。
  
相关命令:slavemode。
+
脚本函数:slavemode。
 
[[File:Multi-camera synchronization mode connection.png|center|thumb|800x800px|Multi-camera synchronization mode connection]]
 
[[File:Multi-camera synchronization mode connection.png|center|thumb|800x800px|Multi-camera synchronization mode connection]]
 
<br />
 
<br />
  
====图像属性====
+
===图像属性===
 +
====图像方向====
 +
用于设置或读取相机输出图像的方向。
  
=====像素格式=====
+
取值说明:
GX系列相机输出格式符合MIPI CSI-2标准,现阶段支持的像素格式为UYVY和YUYV,默认为UYVY。
 
  
相关命令: pixelformat
+
*<code>0</code> — Normal(正常方向)
=====图像方向=====
+
*<code>1</code> — Mirror(水平镜像)
 +
*<code>2</code> — Flip(垂直翻转)
 +
*<code>3</code> — Flip & Mirror(水平镜像 + 垂直翻转)
 +
 
 +
脚本函数: imgdir[[File:Test11.png|alt=Gx Camera Mirror/Flip|center|thumb|597x597px|Gx Camera Mirror/Flip]]<br />
 +
 
 +
====日夜模式和ICR(IR-CUT)控制====
 +
此功能用于安防监控类场景使用,一般'''图像的日夜模式、红外补光灯'''和'''ICR'''三者是配合运用,以达到白天看得好、有色彩,夜晚看得清、隐蔽性高的特点。
 
{| class="wikitable"
 
{| class="wikitable"
!参数
+
|+日夜模式说明
!描述
+
!模式
|-
+
!图像
|0
+
!红外补光灯
|正常(Origin)
+
!ICR
|-
 
|1
 
|镜像(Mirror)
 
 
|-
 
|-
|2
+
|日间模式
|翻转(Flip)
+
|彩色
 +
|关闭
 +
|红外滤光片
 
|-
 
|-
|3
+
|夜晚模式
|翻转与镜像(Mirror & Flip)
+
|黑白
 +
|打开
 +
|透明玻璃
 
|}
 
|}
[[File:Test11.png|alt=Gx Camera Mirror/Flip|center|thumb|597x597px|Gx Camera Mirror/Flip]]相关命令: imgdir
 
 
=====图像模式=====
 
图像模式通常指的是图像传感器在捕捉图像时采用的不同工作模式。这些模式决定了传感器如何读取和处理从像素阵列捕获的数据,从而影响输出图像的质量、分辨率以及低光性能等特性。
 
 
normal模式:
 
  
*在这种模式下,图像传感器会以它的最大分辨率读取每个像素的信息,这意味着每一个物理像素都对应着输出图像中的一个像素。
+
以上三者,相机只控制日夜模式和ICR状态,而不控制红外补光灯。
*这种模式适合需要高分辨率图像的应用场景,如文档扫描或需要详细背景的摄影。
 
*优点是图像细节丰富,分辨率高;缺点是在低光照条件下可能产生更多噪点。
 
  
2x2binning模式:
+
通常情况下,红外补光灯板会支持日夜检测,并输出一个电平信号到相机,用于触发相机的日夜模式切换。GX系列相机使用J2-1引脚接收此信号。
  
*在此模式中,相邻的2x2个像素(即4个像素)被组合成一个超级像素。这样做可以提高图像的感光度,因为四个像素的信号被合并在一起。
+
=====日夜模式=====
*这种模式通常用于改善低光条件下的图像质量,减少噪点,并且可以加快图像读出速度。
+
取值说明:
*缺点是图像分辨率降低为原来的四分之一,因此不适合需要高分辨率的场合。
 
  
subsampling模式:
+
*0: 彩色模式
 +
*1: 黑白模式
 +
*2: 外触发模式
  
*该模式是一种跳过某些行和列的方式读取图像数据,以此来减少输出图像的分辨率。例如,如果采取2x的子采样率,则只会读取每隔一行和一列的像素信息。
+
在0和1模式下,由软件通过寄存器控制相机的日夜模式,忽略J2-1电平信号。在2模式下,由外触发信号,即J2-1引脚的电平控制日夜模式。脚本函数: daynightmode
*这种模式可以提供比Binning模式更高的分辨率,但仍然低于Normal模式,同时保持了较好的低光性能。
 
*它适用于那些对分辨率要求不是最高,但需要快速读取图像或者传输带宽有限的场景。
 
  
相关命令: readmode
+
=====触发引脚极性=====
  
=====lane数目=====
+
J2-1引脚极性配置。默认情况下,高电平表示日间模式,低电平表示夜晚模式,此值设置1后,高电平表示夜晚模式,低电平表示日间模式。脚本函数:pinpolarity
用于摄像头(CSI-2)和显示屏(DSI)的数据传输。其中,MIPI CSI-2(Camera Serial Interface 2)是摄像头常用的接口协议。
 
  
在 MIPI CSI-2 中,数据通过一个或多个 差分信号对(称为 Lane,即“通道”)进行高速传输。每个 Lane 包含一对差分信号线(正负),用于单向传输图像数据。
+
=====ICR控制=====
 +
ICR(IRCUT)通常有两个引脚进行控制切换,可以控制红外滤光片或透明玻璃遮挡在传感器前面,进行光线的过滤。
  
当前GX_MIPI_IMX662支持2lan输出。
+
相机支持ircutdir的参数设置,以支持不同的ICR引脚特性。
 
{| class="wikitable"
 
{| class="wikitable"
!项目
+
| colspan="6" |'''J4 : IRCUT 功能'''
!2-lane
 
!4-lane
 
 
|-
 
|-
|带宽
+
|'''模式'''
|较低
+
|'''引脚号'''
|更高(约 2 倍)
+
|'''引脚名'''
 +
|'''极性'''
 +
|'''滤光片位置(ircutdir=0)'''
 +
|'''滤光片位置(ircutdir=1)'''
 
|-
 
|-
|支持分辨率/帧率
+
| rowspan="2" |模式1
|如 1080p@60fps、720p@120fps
+
|J4-1
|如 4K@30fps、1080p@120fps+
+
|IRCUT1
 +
| -
 +
| rowspan="2" |红外截止
 +
| rowspan="2" |全波长通过
 
|-
 
|-
|PCB 布线复杂度
+
|J4-2
|简单
+
|IRCUT2
|更复杂(需更多差分对,严格等长匹配)
+
| +
 
|-
 
|-
|功耗
+
| rowspan="2" |模式2
|较低
+
|J4-1
|略高
+
|IRCUT1
 +
| +
 +
| rowspan="2" |全波长通过
 +
| rowspan="2" |红外截止
 
|-
 
|-
|兼容性
+
|J4-2
|广泛支持
+
|IRCUT2
|需主控和传感器均支持 4-lane
+
| -
 
|}
 
|}
相关命令: lanenum
+
相机支持ICR周期性控制。
 
 
=====mipi输出lane速率=====
 
  
是指 每条数据通道(Lane)上传输数据的速度,通常以 Gbps(Gigabits per second) 为单位。
+
如启用则按照默认周期对ICRS输出一次控制电平信号,此种情况适合ICR不够稳定,或者震动较强的工作场景,但是会造成相机整体功耗有一定的增加。
  
Lane 速率 = 每条 Lane 每秒能传输多少比特(bit)的数据
+
如不启用,则只在模式切换的时候做一次控制,适合比较稳定震动较小的工作场景。
  
*单位:Mbps 或 Gbps
+
脚本函数:ircutdir,ircuttimer
*例如:1.5 Gbps/Lane 表示每条 Lane 每秒可传 15 亿比特
+
====MIPI信号参数====
*总带宽 = Lane 数 × 每 Lane 速率 如 4-Lane @ 2.0 Gbps → 总带宽 = 8 Gbps
 
  
这里的mipi相机属于低功耗,原始数据量小应用,传输速率以kbps计算
+
=====MIPI lane数目=====
 +
获取当前MIPI lane数目,目前是只读类型,默认为2lane。
  
相关命令: mipidatarate
+
脚本函数: lanenum
  
=====视频模式=====
+
=====MIPI lane速率=====
对于 Gx 系列相机模块,支持 8 种预设的视频分辨率与帧率组合,可通过配置参数 [0–7] 进行选择,以匹配不同的应用场景和性能需求。
+
获取当前MIPI lane的速率,目前是只读类型,默认值为1188Mbps。
  
以 GX_MIPI_IMX662 为例:
+
脚本函数: mipidatarate
  
*默认配置为 参数 0
+
====测试图====
*对应的输出格式为 1080p@60fps(1920×1080,60 帧/秒)
 
  
用户可根据实际需要,通过切换配置索引(0 到 7)快速启用其他分辨率或帧率模式。
+
=====竖向彩条=====
 +
[[File:Vertical color stripes.png|center|thumb|800x800px|Gx Vertical color stripes]]脚本函数: testimg
  
相关命令: videomode
+
===ISP功能===
 
 
=====最小帧率=====
 
当前模式下支持的最小帧率的10000倍
 
 
 
如GX_MIPI_IMX662,支持的最小帧率是0.065fps
 
 
 
相关命令: minfps
 
 
 
=====帧率=====
 
相机每秒钟捕获或输出的图像帧数,单位是 fps
 
 
 
相关命令: fps
 
 
 
<br />
 
 
 
=====测试图=====
 
 
 
======竖向彩条======
 
[[File:Vertical color stripes.png|center|thumb|800x800px|Gx Vertical color stripes]]相关命令: testimg
 
 
 
====ISP功能====
 
  
 
=====曝光模式=====
 
=====曝光模式=====
Line 395: Line 559:
 
Gx系列相机支持手动和自动曝光模式
 
Gx系列相机支持手动和自动曝光模式
  
相关命令:expmode
+
脚本函数:expmode
  
 
======自动曝光======
 
======自动曝光======
Line 414: Line 578:
 
自动曝光的目标亮度,是相机自动调节曝光参数时所追求的“理想画面亮度”,它直接影响成像的明暗风格,并可根据应用需求进行优化设置。
 
自动曝光的目标亮度,是相机自动调节曝光参数时所追求的“理想画面亮度”,它直接影响成像的明暗风格,并可根据应用需求进行优化设置。
  
相关命令:aetarget
+
脚本函数:aetarget
  
 
=====曝光策略=====
 
=====曝光策略=====
Line 426: Line 590:
 
#暗区优先模式(低光优先)
 
#暗区优先模式(低光优先)
  
相关命令:aestrategy
+
脚本函数:aestrategy
  
 
=====手动曝光时间=====
 
=====手动曝光时间=====
Line 440: Line 604:
 
*帧间亮度高度一致,无闪烁;
 
*帧间亮度高度一致,无闪烁;
 
*可精确控制运动模糊(短曝光冻结动作,长曝光制造拖影);
 
*可精确控制运动模糊(短曝光冻结动作,长曝光制造拖影);
*易与外部光源(如闪光灯、频闪灯)同步;
 
 
*是工业检测、AI视觉、科学成像等专业应用的标准配置。
 
*是工业检测、AI视觉、科学成像等专业应用的标准配置。
  
Line 449: Line 612:
 
*曝光时间不能超过 1 / 帧率(否则会丢帧)。
 
*曝光时间不能超过 1 / 帧率(否则会丢帧)。
  
相关命令:metime
+
脚本函数:metime
  
 
=====自动最大曝光时间=====
 
=====自动最大曝光时间=====
 
是相机在启用自动曝光(Auto Exposure, AE)功能时,允许系统自动调节的曝光时间上限。它是一个非常重要的限制参数,用于在保证画面亮度的同时,防止曝光时间过长带来的问题(如运动模糊、帧率下降等)。
 
是相机在启用自动曝光(Auto Exposure, AE)功能时,允许系统自动调节的曝光时间上限。它是一个非常重要的限制参数,用于在保证画面亮度的同时,防止曝光时间过长带来的问题(如运动模糊、帧率下降等)。
  
相关命令:aemaxtime
+
脚本函数:aemaxtime
  
 
=====当前曝光时间=====
 
=====当前曝光时间=====
 
是指相机在当前帧或当前工作状态下,实际使用的曝光时间值。它是反映相机“此刻感光时长”的实时参数,无论相机处于自动曝光还是手动曝光模式下,都有对应的“当前曝光时间”。
 
是指相机在当前帧或当前工作状态下,实际使用的曝光时间值。它是反映相机“此刻感光时长”的实时参数,无论相机处于自动曝光还是手动曝光模式下,都有对应的“当前曝光时间”。
  
相关命令:exptime
+
脚本函数:exptime
  
 
=====手动增益=====
 
=====手动增益=====
Line 467: Line 630:
 
*单位通常为 dB(分贝):如 0 dB、6 dB、12 dB、24 dB
 
*单位通常为 dB(分贝):如 0 dB、6 dB、12 dB、24 dB
  
相关命令:mgain
+
脚本函数:mgain
  
 
=====自动增益的最大值=====
 
=====自动增益的最大值=====
 
是相机在启用自动增益(Auto Gain)功能时,允许系统自动提升增益的上限。它是一个关键的限制参数,用于在提升图像亮度的同时,防止因增益过高而导致图像质量严重下降(如噪声爆炸、细节丢失、色彩失真等)。
 
是相机在启用自动增益(Auto Gain)功能时,允许系统自动提升增益的上限。它是一个关键的限制参数,用于在提升图像亮度的同时,防止因增益过高而导致图像质量严重下降(如噪声爆炸、细节丢失、色彩失真等)。
  
相关命令:aemaxgain
+
脚本函数:aemaxgain
  
 
=====当前增益=====
 
=====当前增益=====
是指相机在当前帧或当前工作状态下,实际正在使用的增益值。它是反映图像信号被放大程度的实时参数。<br />相关命令:curgain
+
是指相机在当前帧或当前工作状态下,实际正在使用的增益值。它是反映图像信号被放大程度的实时参数。<br />脚本函数:curgain
  
 
=====白平衡=====
 
=====白平衡=====
Line 482: Line 645:
 
通过调整 R/G/B 通道增益,消除光源色偏,使白色物体在图像中真实还原为白色,从而保证整体色彩准确性。
 
通过调整 R/G/B 通道增益,消除光源色偏,使白色物体在图像中真实还原为白色,从而保证整体色彩准确性。
  
相关命令:wbmode
+
脚本函数:wbmode
  
 
======手动白平衡======
 
======手动白平衡======
Line 489: Line 652:
 
让白色物体在图像中真正呈现为“中性灰/白”,不偏黄、不偏蓝、不偏绿。
 
让白色物体在图像中真正呈现为“中性灰/白”,不偏黄、不偏蓝、不偏绿。
  
相关命令:mwbrgain , mwbbgain
+
脚本函数:mwbrgain , mwbbgain
  
 
=====自动白平衡=====
 
=====自动白平衡=====
 
在各种不同色温的光源下,自动调整图像的红、绿、蓝通道增益,使白色或中性灰色物体在画面中真实还原为“白色”,从而让整体色彩看起来自然、准确。
 
在各种不同色温的光源下,自动调整图像的红、绿、蓝通道增益,使白色或中性灰色物体在画面中真实还原为“白色”,从而让整体色彩看起来自然、准确。
  
相关命令:awbcolortempmin,awbcolortempmax
+
脚本函数:awbcolortempmin,awbcolortempmax
  
 
=====当前色温=====
 
=====当前色温=====
 
指相机在当前成像状态下,所采用或估算的光源色温值,单位为 开尔文(K)。它反映了系统对当前光照“冷暖程度”的判断或设定,是白平衡控制中的一个关键参数。
 
指相机在当前成像状态下,所采用或估算的光源色温值,单位为 开尔文(K)。它反映了系统对当前光照“冷暖程度”的判断或设定,是白平衡控制中的一个关键参数。
  
相关命令:colortemp
+
脚本函数:colortemp
  
 
=====当前白平衡 R增益=====
 
=====当前白平衡 R增益=====
是指相机在当前成像状态下,为实现白平衡而施加在红色(Red)。它是白平衡控制中最核心的参数之一,直接影响图像的色调和色彩准确性。<br />相关命令:currgain
+
是指相机在当前成像状态下,为实现白平衡而施加在红色(Red)。它是白平衡控制中最核心的参数之一,直接影响图像的色调和色彩准确性。<br />脚本函数:currgain
  
 
=====当前白平衡 B增益=====
 
=====当前白平衡 B增益=====
 
是指相机在当前成像状态下,为实现白平衡而施加在蓝色(Blue)。它是与 R 增益(Red Gain)配合使用的核心参数,共同决定图像的色彩平衡和色温表现。
 
是指相机在当前成像状态下,为实现白平衡而施加在蓝色(Blue)。它是与 R 增益(Red Gain)配合使用的核心参数,共同决定图像的色彩平衡和色温表现。
  
相关命令:curbgain
+
脚本函数:curbgain
  
 
=====抗闪烁=====
 
=====抗闪烁=====
Line 514: Line 677:
 
为消除交流光源频闪干扰而设置的电网频率参数(50Hz 或 60Hz),通过约束曝光时间为闪烁周期的整数倍,确保画面亮度稳定、无滚动暗带。
 
为消除交流光源频闪干扰而设置的电网频率参数(50Hz 或 60Hz),通过约束曝光时间为闪烁周期的整数倍,确保画面亮度稳定、无滚动暗带。
  
相关命令:antiflicker
+
脚本函数:antiflicker
  
 
=====锐化=====
 
=====锐化=====
Line 530: Line 693:
 
锐化的作用就是反向补偿这种模糊,强化边缘对比度。
 
锐化的作用就是反向补偿这种模糊,强化边缘对比度。
  
相关命令:sharppen
+
脚本函数:sharppen
  
 
=====2D降噪=====
 
=====2D降噪=====
Line 540: Line 703:
 
*中值滤波
 
*中值滤波
  
相关命令:denoise2d
+
脚本函数:denoise2d
  
 
=====3D降噪=====
 
=====3D降噪=====
Line 547: Line 710:
 
3D降噪相较于2D降噪能够提供更好的降噪效果,特别是在处理低光照条件下的视频时。然而,3D降噪算法通常计算复杂度较高,实现起来更加困难,并且如果参数设置不当,可能会导致画面出现拖尾或者模糊的现象。
 
3D降噪相较于2D降噪能够提供更好的降噪效果,特别是在处理低光照条件下的视频时。然而,3D降噪算法通常计算复杂度较高,实现起来更加困难,并且如果参数设置不当,可能会导致画面出现拖尾或者模糊的现象。
  
相关命令:denoise3d
+
脚本函数:denoise3d
  
 
=====饱和度=====
 
=====饱和度=====
Line 556: Line 719:
 
*饱和度为 0 → 图像变为黑白灰(无彩色)
 
*饱和度为 0 → 图像变为黑白灰(无彩色)
  
相关命令:saturation
+
脚本函数:saturation
  
 
=====对比度=====
 
=====对比度=====
Line 564: Line 727:
 
*对比度低 → 画面“发灰”、“雾蒙蒙”,细节模糊
 
*对比度低 → 画面“发灰”、“雾蒙蒙”,细节模糊
  
相关命令:contrast
+
脚本函数:contrast
  
 
=====色度=====
 
=====色度=====
 
色度是颜色的两个属性——色调(Hue)和饱和度(Saturation)的统称,用于描述“颜色是什么”以及“有多纯”,不包含亮度信息。
 
色度是颜色的两个属性——色调(Hue)和饱和度(Saturation)的统称,用于描述“颜色是什么”以及“有多纯”,不包含亮度信息。
  
相关命令:hue<br />
+
脚本函数:hue<br />
  
 
=====自动降帧=====
 
=====自动降帧=====
Line 580: Line 743:
 
该功能使用时,需要最大曝光时间配合使用,设置aemaxtime=1000000(us),然后再设置slowshutter使能和降帧增益阈值。
 
该功能使用时,需要最大曝光时间配合使用,设置aemaxtime=1000000(us),然后再设置slowshutter使能和降帧增益阈值。
  
相关命令:slowshutter
+
脚本函数:slowshutter
  
 
=====畸变校正=====
 
=====畸变校正=====
 
图像处理中用于消除或减轻镜头光学畸变的技术,目的是让图像中的直线在成像后依然保持“直”,几何形状更接近真实世界。这在机器视觉、自动驾驶、测量、AR/VR 等对几何精度要求高的场景中至关重要。
 
图像处理中用于消除或减轻镜头光学畸变的技术,目的是让图像中的直线在成像后依然保持“直”,几何形状更接近真实世界。这在机器视觉、自动驾驶、测量、AR/VR 等对几何精度要求高的场景中至关重要。
  
相关命令:ldc
+
脚本函数:ldc
  
 
=====去雾=====
 
=====去雾=====
 
用于消除或减轻因大气散射(如雾、霾、烟、水下浑浊等),从而恢复图像的清晰度、对比度和真实色彩。
 
用于消除或减轻因大气散射(如雾、霾、烟、水下浑浊等),从而恢复图像的清晰度、对比度和真实色彩。
  
相关命令:dehaze
+
脚本函数:dehaze
  
 
=====gamma=====
 
=====gamma=====
Line 597: Line 760:
 
在GX系列中,我们调试好了几种不同效果的gamma参数,可根据实际场景进行调节
 
在GX系列中,我们调试好了几种不同效果的gamma参数,可根据实际场景进行调节
  
相关命令:gamma_index
+
脚本函数:gamma_index
  
 
=====数字宽动态=====
 
=====数字宽动态=====
是一种通过软件或 ISP 算法来提升图像在高对比度场景(如强背光、明暗共存)下细节表现能力的技术。它与“光学/传感器级”的真宽动态(True WDR 或 HDR)不同,不依赖特殊的硬件曝光机制,而是基于单帧或多帧图像进行后期增强。相关相关命令:drc
+
是一种通过软件或 ISP 算法来提升图像在高对比度场景(如强背光、明暗共存)下细节表现能力的技术。它与“光学/传感器级”的真宽动态(True WDR 或 HDR)不同,不依赖特殊的硬件曝光机制,而是基于单帧或多帧图像进行后期增强。相关脚本函数:drc
 
====IO控制====
 
====IO控制====
  
Line 608: Line 771:
 
软硬触发均生效。
 
软硬触发均生效。
  
相关命令:trgdelay
+
脚本函数:trgdelay
  
 
=====触发边沿选择=====
 
=====触发边沿选择=====
Line 617: Line 780:
 
选择哪一种,取决于你的外部传感器或控制器输出信号的逻辑极性,目的是让相机在正确的物理事件发生时刻精准抓拍。
 
选择哪一种,取决于你的外部传感器或控制器输出信号的逻辑极性,目的是让相机在正确的物理事件发生时刻精准抓拍。
  
相关命令:trgedge
+
脚本函数:trgedge
 
<br />
 
<br />
  
Line 623: Line 786:
 
是图像传感器从接收到曝光启动指令到实际开始光电子积分之间的固有时间偏移,典型值在 0.5 μs(全局快门)至 200 μs(滚动快门+软件栈)之间。它由传感器架构、ISP 控制逻辑及接口协议共同决定,属于不可忽略的系统级时序参数,在高速成像、多设备同步及闪光同步等应用中必须纳入精度预算。
 
是图像传感器从接收到曝光启动指令到实际开始光电子积分之间的固有时间偏移,典型值在 0.5 μs(全局快门)至 200 μs(滚动快门+软件栈)之间。它由传感器架构、ISP 控制逻辑及接口协议共同决定,属于不可忽略的系统级时序参数,在高速成像、多设备同步及闪光同步等应用中必须纳入精度预算。
  
相关命令:trgexp_delay
+
脚本函数:trgexp_delay
  
  
 
====本文修改记录====
 
====本文修改记录====
 +
 +
*2026/03/07
 +
 +
完成基础功能、图像采集、图像属性等章节。
 +
 
<br />
 
<br />

Latest revision as of 10:06, 10 March 2026

English

GX系列MIPI摄像机模组功能手册

1 概述

GX 系列产品具备高性能 ISP(Image Signal Processor)处理能力,支持多种工作模式,并提供丰富的功能配置选项。产品在系统稳定性、生产质量控制以及供货能力方面均经过充分验证,适用于嵌入式视觉系统及 AI 视觉应用场景。

GX 系列 MIPI 摄像机模组采用标准 22-pin FPC 用户接口,便于系统集成,可直接接入多种主流嵌入式平台,例如 Raspberry Pi、NVIDIA Jetson 系列平台以及 RK3588 平台等。

本文档主要介绍 GX 系列产品的功能特性及其工作原理。

关于以下内容,请参考对应的专项文档:

  • 硬件接口手册
  • 寄存器说明文档
  • 配置脚本说明
  • 各嵌入式平台的驱动与使用指南

在本文档中,每个功能章节均包含 [脚本函数] 一栏,用于列出与该功能相关的 gx_mipi_i2c.sh 脚本命令,方便用户进行功能配置与调试。

1.1 摄像机型号列表

Series Model Max Resolution Shutter Mode
GX series GX-MIPI-IMX662 1920×1080@60 fps Rolling Shutter
GX series GX-MIPI-IMX664 2688×1520@30 fps Rolling Shutter
GX series GX-MIPI-AR0234 1920×1200@54 fps Golbal Shutter

2 基础功能

本章节介绍相机的基础管理功能,包括设备信息读取、参数管理和系统控制。

通过这些寄存器,用户可以获取设备标识信息、管理相机配置参数,并执行系统级操作。

2.1 设备信息

相机提供多个只读寄存器,用于查询设备的基本信息。这些信息可用于设备识别、系统管理以及软件调试。

包括:

  • 制造商名称
  • 产品型号
  • 传感器型号
  • 设备序列号
  • 固件版本
2.1.1 制造商名称

相机制造商名称。

脚本函数:manufacturer

2.1.2 产品型号

相机型号标识。

脚本函数:model

2.1.3 传感器型号

相机所使用的图像传感器型号。

脚本函数:sensorname

2.1.4 序列号

每台相机在出厂时都会分配唯一的序列号,该序列号包含生产日期批次及编号。

脚本函数:serialno

2.1.5 固件版本

返回相机的固件版本信息。

该寄存器为 32 位数据:0xAABBCCDD

其中:

  • AA.BB 表示控制程序版本(C version)
  • CC.DD 表示逻辑程序版本(L version)

2.2 参数管理

相机支持将当前配置参数保存到内部 Flash 中。

保存后的参数在相机重新上电后会自动加载。

2.2.1 参数保存

将当前相机参数保存到 Flash 中。

注意事项:

  • 该操作会 擦除并重写系统 Flash
  • 操作过程中 必须保证电源稳定
  • 不建议频繁执行该操作

脚本函数:paramsave

2.2.2 恢复出厂参数

将相机参数恢复为出厂默认配置。

注意事项:

  • 该操作会 擦除并重写系统 Flash
  • 操作过程中 必须保证电源稳定
  • 不建议频繁执行恢复出厂操作

脚本函数:factoryparam

2.3 系统控制

相机提供一些基本的系统控制功能,例如设备重启和系统运行时间查询。

2.3.1 系统重启

执行该操作会使相机重新启动。

脚本函数:reboot

2.3.2 系统时间戳

相机自启动以来的运行时间。

该参数可用于:

  • 系统调试
  • 设备运行时间统计
  • 简单同步参考

脚本函数:timestamp

2.3.3 I²C 地址配置

相机支持通过寄存器配置设备的 I²C 通信地址

用户可以根据系统需求修改相机的 I²C 地址,以避免多设备系统中的地址冲突。

配置说明:

  • 可设置的地址范围:0x08 – 0x77
  • 修改后需要执行 参数保存 操作
  • 新地址在 设备重启后生效

脚本函数:i2caddr

3 图像采集

3.1 卷帘式曝光和全局曝光

图像传感器按照曝光方式可以分为 卷帘式曝光(Rolling Shutter)全局曝光(Global Shutter) 两种类型。

不同曝光方式在运动物体拍摄和触发模式下的行为有所不同。

3.1.1 卷帘式曝光

卷帘式曝光传感器的工作过程如下图所示。

在该模式下,图像各行按照顺序依次开始曝光:

  1. 第一行首先开始曝光
  2. 经过一个行周期后,第二行开始曝光
  3. 依次类推,第 N 行在第 N−1 行之后开始曝光

当第一行曝光结束后,开始进行数据读出。每读取一行数据需要一个行周期时间(包含行消隐时间)。

当第一行数据读取完成时,第二行刚好开始读取。随后各行依次读取,直到整幅图像全部输出完成。

卷帘式曝光传感器具有以下特点:

  • 结构相对简单
  • 成本较低
  • 可以实现较高分辨率

因此,卷帘式曝光适用于 静态场景或低速运动目标的成像应用

Rolling shutter mode
Rolling shutter mode


3.1.2 全局曝光

全局曝光传感器的工作方式如下图所示。

在全局曝光模式下:

  1. 传感器所有像素 同时开始曝光
  2. 所有像素 同时结束曝光

曝光结束后,传感器会将感光区域中的电荷转移到存储区域,然后再按行读取像素数据。

这种方式可以保证:

  • 所有像素在同一时间采样
  • 图像不会产生运动畸变

因此,全局曝光特别适用于 高速运动目标的图像采集,例如:

  • 工业检测
  • 机器人视觉
  • 运动目标跟踪


Global shutter mode

3.2 开始/停止采集

用户可以在任意时刻向摄像机发送 开始采集 或 停止采集 命令。

当摄像机收到开始采集命令时:

  • 如果当前工作在 视频流模式,摄像机会立即开始曝光并连续输出图像。
  • 如果当前工作在 触发模式,摄像机会进入 等待触发信号状态。

此时摄像机状态进入 Running状态

当摄像机收到停止采集命令时:

1. 摄像机会先完成当前正在传输的图像帧,以保证帧数据完整

2. 然后停止输出图像

3. 摄像机进入 Standby 状态

需要注意:

如果当前配置为 触发多帧模式,且触发序列尚未完成,则停止采集命令会中断当前触发过程。因此,停止采集仅保证 当前帧完整性,但不保证 整个触发序列完整性。

一般情况下,驱动会自动发送开始/停止采集命令,用户无需主动控制寄存器。

脚本函数:imgacq。

3.3 图像模式

GX系列相机支持多种视频模式(videomode),每种模式对应特定的分辨率、最大帧率以及图像读出方式。

读出方式包括普通模式(Normal Mode)、Binning模式以及Subsampling模式。在视频流模式下,相机会根据所选videomode的分辨率、帧率及读出方式进行连续曝光,并实时输出图像数据。

不同型号的相机所支持的图像模式可能有所不同,详情见下表:

Model videomode 分辨率 最小帧率 最大帧率 读出方式
GX-MIPI-IMX662 1 1920×1080 0.065fps 60fps Normal
GX-MIPI-IMX664 1 2688×1520 TBD 30fps Normal
2 1344x760 TBD 100fps Binning
GX-MIPI-AR0234 1 1920×1200 TBD 54 fps Normal
2 1920×1080 TBD 60fps Normal
3 1600×1200 TBD 60fps Normal

脚本函数 :videomodecap,videomodenum, vidoemodewh1-vidoemodewh8,videomodeparam1-videomodeparam8,videomode,fps,maxfps, curwh。

3.3.1 像素读出模式

GX 系列相机支持多种像素读出模式:Normal Mode、Binning Mode 和 Subsampling Mode。不同模式在分辨率、信噪比和数据带宽方面有不同特点,可根据应用需求选择。

  • Normal Mode(普通模式)

传感器按完整像素阵列逐行读出,每个像素均参与采集和输出。该模式提供最高分辨率和最佳图像细节,但数据带宽需求较高。

  • Binning Mode(像素合并模式)

将相邻像素在传感器内部合并后输出,提升信噪比和低照度性能,同时降低分辨率和数据带宽。适用于低光或高灵敏度应用。

  • Subsampling Mode(子采样模式)

按固定间隔选择像素读出,降低分辨率和数据量,但信噪比基本不变。适用于提升帧率或降低带宽需求的场景。

模式对比

模式 读出方式 分辨率 信噪比 数据带宽
Normal 全像素读出 原始水平
Binning 像素合并 提高
Subsampling 间隔采样 基本不变
3.3.2 当前图像参数

相机提供了一系列寄存器,用于在二次开发或调试时准确读取当前工作模式的图像宽高及读出模式。

脚本函数 curwhreadmode

3.3.2.1 像素格式

相机输出格式符合MIPI CSI-2标准,现阶段支持的像素格式为UYVY和YUYV,默认为UYVY。

脚本函数: pixelformat

3.3.3 帧率配置
3.3.3.1 帧率范围

相机提供当前工作模式下支持的最小和最大帧率,可通过只读寄存器获取。

脚本函数: minfpsmaxfps

3.3.3.2 设置帧率

在最小帧率与最大帧率范围内,可自由设置当前帧率。需要注意的是,帧率设置必须在停止采集(Standby 状态)下进行,以确保设置生效。

脚本函数: fps

3.3.3.3 帧数统计

相机支持对 Sensor 输出帧数相机输出帧数 进行统计。每次开始采集操作时,帧数计数会重新开始。

脚本函数: framecount

3.4 工作模式

相机可能支持多种工作模式,包括视频流模式(Video Stream Mode)、普通触发模式(Normal Trigger Mode)、电平触发模式(Level Trigger Mode)以及多相机同步模式(Multi-camera synchronization mode)。

不同型号的相机支持的工作模式类型可能有所差异,可通过workmodecap命令进行查询。

脚本函数:workmodecap,workmode

3.4.1 工作模式的切换

在摄像机运行过程中,工作模式不能直接切换。

必须按照以下顺序进行操作:

  1. 发送停止采集命令
  2. 等待摄像机进入 Standby 状态
  3. 修改工作模式配置
  4. 再次启动采集

脚本函数:workmode

3.4.2 视频流模式

在视频流模式下,摄像机会按照设定的 图像模式(videomode)帧率(fps) 连续进行曝光并输出图像数据。

通常情况下,驱动程序会依据应用层对图像模式(videomode)和帧率(FPS)的配置自动完成寄存器设置,用户无需手动操作寄存器。

脚本函数 :videomode,fps,maxfps。

3.4.3 普通触发模式
3.4.3.1 卷帘式曝光(Rolling shutter)

本节适用型号:GX-MIPI-IMX662,GX-MIPI-IMX664。

为了确保触发图像的一致性,一个完整图像帧的生成(从曝光到输出)需要经历三个连续的图像周期。因此,该型号在视频流模式下的最大帧率仅为所选模式帧率的三分之一。

我们将这三个连续图像周期定义为一个 触发周期(Trigger Cycle)

在普通触发模式下,如果一次触发需要输出多帧图像,则触发延迟会从当前触发信号开始生效,而触发间隔和曝光延迟则在每个触发周期开始前起作用,确保每个周期的图像输出满足一致性要求。

下图以触发触发帧数设置为2为例:

GX trigger timing( Rolling shutter)


脚本函数 :trgnum,trginterval,trgsrc,trgexp_delay,trgdelay,triggercyclemin。

3.4.3.2 类Smartsens 的全局曝光(Global shutter)

本节适用型号:GX-MIPI-AR0234。

对于此类 Global Shutter 传感器,一帧图像的采集过程包括两个阶段:

  1. 曝光阶段(Exposure Time)
  2. 读出阶段(Readout)

只有在读出完成后,下一帧曝光才能开始。

因此在触发模式下,一个 曝光周期 + 读出周期 构成一个 触发周期

由于曝光时间会影响整个触发周期长度,因此触发模式下的最大帧率通常 低于视频流模式

下图以触发触发帧数设置为2为例:

Normal trigger mode (Global shutter)


脚本函数 :trgnum,trginterval,trgsrc,trgexp_delay,trgdelay,triggercyclemin。

3.4.3.3 触发源

摄像机支持软触发和硬触发两种触发源,这两种方式只是触发信号来源不同。触发延迟、曝光延迟、触发帧数、触发间隔等配置和功能完全一致。

注意,触发源设置仅对普通触发模式和滚动快门多帧触发模式有效。

脚本函数:trgsrc。

  • 软触发

通过i2c总线,向摄像机对应寄存器写入1,则进行了一次软触发。

由于软件处理和i2c传输均存在一定的延时,因此软触发的及时性比硬触发要差,对及时性要求高的场合,建议采用硬触发。

脚本函数:trgone。

  • 硬触发

硬触发模式下,摄像机通过采集TrigIN IO的电平变化获得触发信号。详情见IO控制章节。

脚本函数:trgedge。

3.4.3.4 触发统计

触发统计功能统计了总触发数量以及触发丢失的数量。

总触发数量的定义:硬触发模式下,为经过触发过滤之后的触发数;软触发模式下,为所有触发数。

当摄像机接收到硬触发或者软触发信号时,如果其正处于触发周期,将无法响应新的触发信号,此时会造成触发信号丢失。

切换工作模式或者触发源,不会自动清空此统计。

脚本函数:trgcount,trgclr。

3.4.4 同步模式

本节适用型号:GX-MIPI-IMX662,GX-MIPI-IMX664。

一个摄像机模组被配置为 Master 模式,其余一个或者多个摄像机模组被配置为 Slave 模式。在这种配置下,Master 模组输出 XVS 信号,Slave 模组接收XVS信号,跟随 Master 进行同步感光和数据输出。

使用同步模式时,要保证相机的videomode,workmode,fps的设置都完全一致。

在该模式下,每个摄像机模组的曝光参数既可以配置为 手动(Manual),也可以配置为 自动(Auto)

脚本函数:slavemode。

Multi-camera synchronization mode connection


4 图像属性

4.1 图像方向

用于设置或读取相机输出图像的方向。

取值说明:

  • 0 — Normal(正常方向)
  • 1 — Mirror(水平镜像)
  • 2 — Flip(垂直翻转)
  • 3 — Flip & Mirror(水平镜像 + 垂直翻转)

脚本函数: imgdir

Gx Camera Mirror/Flip
Gx Camera Mirror/Flip


4.2 日夜模式和ICR(IR-CUT)控制

此功能用于安防监控类场景使用,一般图像的日夜模式、红外补光灯ICR三者是配合运用,以达到白天看得好、有色彩,夜晚看得清、隐蔽性高的特点。

日夜模式说明
模式 图像 红外补光灯 ICR
日间模式 彩色 关闭 红外滤光片
夜晚模式 黑白 打开 透明玻璃

以上三者,相机只控制日夜模式和ICR状态,而不控制红外补光灯。

通常情况下,红外补光灯板会支持日夜检测,并输出一个电平信号到相机,用于触发相机的日夜模式切换。GX系列相机使用J2-1引脚接收此信号。

4.2.1 日夜模式

取值说明:

  • 0: 彩色模式
  • 1: 黑白模式
  • 2: 外触发模式

在0和1模式下,由软件通过寄存器控制相机的日夜模式,忽略J2-1电平信号。在2模式下,由外触发信号,即J2-1引脚的电平控制日夜模式。脚本函数: daynightmode

4.2.2 触发引脚极性

J2-1引脚极性配置。默认情况下,高电平表示日间模式,低电平表示夜晚模式,此值设置1后,高电平表示夜晚模式,低电平表示日间模式。脚本函数:pinpolarity

4.2.3 ICR控制

ICR(IRCUT)通常有两个引脚进行控制切换,可以控制红外滤光片或透明玻璃遮挡在传感器前面,进行光线的过滤。

相机支持ircutdir的参数设置,以支持不同的ICR引脚特性。

J4 : IRCUT 功能
模式 引脚号 引脚名 极性 滤光片位置(ircutdir=0) 滤光片位置(ircutdir=1)
模式1 J4-1 IRCUT1 - 红外截止 全波长通过
J4-2 IRCUT2 +
模式2 J4-1 IRCUT1 + 全波长通过 红外截止
J4-2 IRCUT2 -

相机支持ICR周期性控制。

如启用则按照默认周期对ICRS输出一次控制电平信号,此种情况适合ICR不够稳定,或者震动较强的工作场景,但是会造成相机整体功耗有一定的增加。

如不启用,则只在模式切换的时候做一次控制,适合比较稳定震动较小的工作场景。

脚本函数:ircutdir,ircuttimer

4.3 MIPI信号参数

4.3.1 MIPI lane数目

获取当前MIPI lane数目,目前是只读类型,默认为2lane。

脚本函数: lanenum

4.3.2 MIPI lane速率

获取当前MIPI lane的速率,目前是只读类型,默认值为1188Mbps。

脚本函数: mipidatarate

4.4 测试图

4.4.1 竖向彩条
Gx Vertical color stripes

脚本函数: testimg

5 ISP功能

5.1 曝光模式

曝光是指图像传感器接收光线的时间长度。

  • 曝光时间越长 → 传感器接收的光越多 → 图像越亮(但也可能模糊)
  • 曝光时间越短 → 接收光越少 → 图像越暗(但可冻结高速运动)

Gx系列相机支持手动和自动曝光模式

脚本函数:expmode

5.1.1 自动曝光
  • 相机自动调整曝光时间(有时也包括增益/ISO),使画面亮度保持在合理范围。
  • 适用于光照变化的场景(如户外、室内切换)。
5.1.2 手动曝光
  • 用户固定设置曝光时间(和增益),相机不再自动调整。
  • 优点:
    • 帧间亮度一致
    • 可精确控制运动模糊
    • 适合高速拍摄、同步触发、AI推理等场景
  • 缺点:若环境光突变,图像可能过曝或欠曝
5.2 目标亮度

自动曝光的目标亮度,是相机自动调节曝光参数时所追求的“理想画面亮度”,它直接影响成像的明暗风格,并可根据应用需求进行优化设置。

脚本函数:aetarget

5.3 曝光策略

是指相机在启用自动曝光(Auto Exposure, AE)功能时,如何动态调整曝光参数(如曝光时间、模拟/数字增益),以使图像亮度达到目标值的一套控制逻辑和算法规则。

不同策略适用于不同场景,直接影响成像的稳定性、响应速度、噪声水平和运动模糊程度。

在Gx系列中有以下两种模式:

  1. 亮区优先模式(高光优先)
  2. 暗区优先模式(低光优先)

脚本函数:aestrategy

5.4 手动曝光时间

是指图像传感器每个像素接收光线照射的持续时间,单位通常是:

  • 微秒(μs)——嵌入式/工业相机常用
  • 毫秒(ms)或 秒(s)——消费级相机常用

用户显式设定一个固定的曝光时间值(单位通常为微秒 μs 或毫秒 ms),相机不再自动调整,始终保持该曝光时长。

优点:

  • 帧间亮度高度一致,无闪烁;
  • 可精确控制运动模糊(短曝光冻结动作,长曝光制造拖影);
  • 是工业检测、AI视觉、科学成像等专业应用的标准配置。

缺点:

  • 环境光突变时,图像可能过曝(太亮)或欠曝(太暗);
  • 需要用户具备一定成像知识,或依赖稳定光照条件;
  • 曝光时间不能超过 1 / 帧率(否则会丢帧)。

脚本函数:metime

5.5 自动最大曝光时间

是相机在启用自动曝光(Auto Exposure, AE)功能时,允许系统自动调节的曝光时间上限。它是一个非常重要的限制参数,用于在保证画面亮度的同时,防止曝光时间过长带来的问题(如运动模糊、帧率下降等)。

脚本函数:aemaxtime

5.6 当前曝光时间

是指相机在当前帧或当前工作状态下,实际使用的曝光时间值。它是反映相机“此刻感光时长”的实时参数,无论相机处于自动曝光还是手动曝光模式下,都有对应的“当前曝光时间”。

脚本函数:exptime

5.7 手动增益

指用户显式设定图像传感器或 ISP(图像信号处理器),而不是由相机自动调整。

  • 增益(Gain)本质上是对传感器输出的电信号进行放大的操作,类似于音响的“音量放大”。
  • 单位通常为 dB(分贝):如 0 dB、6 dB、12 dB、24 dB

脚本函数:mgain

5.8 自动增益的最大值

是相机在启用自动增益(Auto Gain)功能时,允许系统自动提升增益的上限。它是一个关键的限制参数,用于在提升图像亮度的同时,防止因增益过高而导致图像质量严重下降(如噪声爆炸、细节丢失、色彩失真等)。

脚本函数:aemaxgain

5.9 当前增益

是指相机在当前帧或当前工作状态下,实际正在使用的增益值。它是反映图像信号被放大程度的实时参数。
脚本函数:curgain

5.10 白平衡

用于确保在不同光源下,白色物体在图像中仍然呈现为“白色”,从而让整个画面的色彩还原真实、自然。

通过调整 R/G/B 通道增益,消除光源色偏,使白色物体在图像中真实还原为白色,从而保证整体色彩准确性。

脚本函数:wbmode

5.10.1 手动白平衡

是一种由用户主动设定或校准图像色彩增益参数的方式,用于在特定光照条件下精确还原真实色彩,避免自动白平衡(AWB)可能带来的色偏、抖动或误判。

让白色物体在图像中真正呈现为“中性灰/白”,不偏黄、不偏蓝、不偏绿。

脚本函数:mwbrgain , mwbbgain

5.11 自动白平衡

在各种不同色温的光源下,自动调整图像的红、绿、蓝通道增益,使白色或中性灰色物体在画面中真实还原为“白色”,从而让整体色彩看起来自然、准确。

脚本函数:awbcolortempmin,awbcolortempmax

5.12 当前色温

指相机在当前成像状态下,所采用或估算的光源色温值,单位为 开尔文(K)。它反映了系统对当前光照“冷暖程度”的判断或设定,是白平衡控制中的一个关键参数。

脚本函数:colortemp

5.13 当前白平衡 R增益

是指相机在当前成像状态下,为实现白平衡而施加在红色(Red)。它是白平衡控制中最核心的参数之一,直接影响图像的色调和色彩准确性。
脚本函数:currgain

5.14 当前白平衡 B增益

是指相机在当前成像状态下,为实现白平衡而施加在蓝色(Blue)。它是与 R 增益(Red Gain)配合使用的核心参数,共同决定图像的色彩平衡和色温表现。

脚本函数:curbgain

5.15 抗闪烁

是相机中用于消除人工光源频闪干扰的一项关键设置。它通过调整曝光时间与电网频率同步,避免在 LED、荧光灯等照明下拍摄时出现明暗条纹、亮度跳变或滚动暗带等问题。

为消除交流光源频闪干扰而设置的电网频率参数(50Hz 或 60Hz),通过约束曝光时间为闪烁周期的整数倍,确保画面亮度稳定、无滚动暗带。

脚本函数:antiflicker

5.16 锐化

用于增强图像边缘和细节的清晰度,使画面看起来更清晰锐利。它广泛应用于摄影、视频、机器视觉和显示系统中。

图像在采集和传输过程中会经历多种模糊因素,例如:

  • 镜头光学像差
  • 传感器低通滤波(防摩尔纹)
  • 对焦轻微不准
  • 运动模糊或压缩失真

这些都会导致边缘过渡平缓、细节模糊。

锐化的作用就是反向补偿这种模糊,强化边缘对比度。

脚本函数:sharppen

5.17 2D降噪

主要是针对单帧图像进行处理,它通过分析图像中像素与其周围像素的关系来识别并减少噪声。常见的2D降噪技术包括:

  • 均值滤波
  • 高斯滤波
  • 双边滤波
  • 中值滤波

脚本函数:denoise2d

5.18 3D降噪

有时也称为时空降噪,是在2D降噪的基础上加入了时间维度的考量,即利用连续多帧之间的相关信息来进行降噪。这种方法尤其适合视频序列的降噪处理,因为它不仅考虑了单帧内的空间信息,还考虑了跨帧的时间信息。典型的应用场景包括视频监控、影视制作等。

3D降噪相较于2D降噪能够提供更好的降噪效果,特别是在处理低光照条件下的视频时。然而,3D降噪算法通常计算复杂度较高,实现起来更加困难,并且如果参数设置不当,可能会导致画面出现拖尾或者模糊的现象。

脚本函数:denoise3d

5.19 饱和度

饱和度表示颜色的“纯度”或“鲜艳程度”。

  • 饱和度越高 → 颜色越鲜艳、越浓烈(如鲜红、亮蓝)
  • 饱和度越低 → 颜色越接近灰色(如粉红、灰蓝)
  • 饱和度为 0 → 图像变为黑白灰(无彩色)

脚本函数:saturation

5.20 对比度

对比度表示图像中最亮区域与最暗区域之间的亮度差异程度。

  • 对比度高 → 黑更黑、白更白,层次分明
  • 对比度低 → 画面“发灰”、“雾蒙蒙”,细节模糊

脚本函数:contrast

5.21 色度

色度是颜色的两个属性——色调(Hue)和饱和度(Saturation)的统称,用于描述“颜色是什么”以及“有多纯”,不包含亮度信息。

脚本函数:hue

5.22 自动降帧

是指相机或视频系统在特定条件下自动降低输出帧率(FPS, Frames Per Second)的行为。这种机制通常是为了适应硬件限制、光照条件或系统负载,确保成像稳定性或避免数据丢失。

在GX系列中该功能要配合最大曝光时间使用

此设置仅在自动曝光模式 + 视频流模式下有效。它决定了 Aemode 是处于固定帧率模式还是自动帧率缩减模式。

该功能使用时,需要最大曝光时间配合使用,设置aemaxtime=1000000(us),然后再设置slowshutter使能和降帧增益阈值。

脚本函数:slowshutter

5.23 畸变校正

图像处理中用于消除或减轻镜头光学畸变的技术,目的是让图像中的直线在成像后依然保持“直”,几何形状更接近真实世界。这在机器视觉、自动驾驶、测量、AR/VR 等对几何精度要求高的场景中至关重要。

脚本函数:ldc

5.24 去雾

用于消除或减轻因大气散射(如雾、霾、烟、水下浑浊等),从而恢复图像的清晰度、对比度和真实色彩。

脚本函数:dehaze

5.25 gamma

是一种模拟人眼感知特性的非线性亮度映射,通过在编码时压缩亮部、保留暗部信息,在显示时还原自然观感,是数字成像中确保图像看起来正确的关键技术。

在GX系列中,我们调试好了几种不同效果的gamma参数,可根据实际场景进行调节

脚本函数:gamma_index

5.26 数字宽动态

是一种通过软件或 ISP 算法来提升图像在高对比度场景(如强背光、明暗共存)下细节表现能力的技术。它与“光学/传感器级”的真宽动态(True WDR 或 HDR)不同,不依赖特殊的硬件曝光机制,而是基于单帧或多帧图像进行后期增强。相关脚本函数:drc

5.27 IO控制

5.27.1 触发延时

用于控制从接收到外部触发信号到实际开始曝光之间的时间间隔。它的单位通常是 微秒(μs)。

软硬触发均生效。

脚本函数:trgdelay

5.27.2 触发边沿选择

“0: 上升沿触发”表示在信号从低变高时启动曝光,

“1: 下降沿触发”表示在信号从高变低时启动曝光;

选择哪一种,取决于你的外部传感器或控制器输出信号的逻辑极性,目的是让相机在正确的物理事件发生时刻精准抓拍。

脚本函数:trgedge

5.27.3 曝光延迟

是图像传感器从接收到曝光启动指令到实际开始光电子积分之间的固有时间偏移,典型值在 0.5 μs(全局快门)至 200 μs(滚动快门+软件栈)之间。它由传感器架构、ISP 控制逻辑及接口协议共同决定,属于不可忽略的系统级时序参数,在高速成像、多设备同步及闪光同步等应用中必须纳入精度预算。

脚本函数:trgexp_delay


5.28 本文修改记录

  • 2026/03/07

完成基础功能、图像采集、图像属性等章节。