Difference between revisions of "GX mipi camera manual/zh"
(→数字宽动态) |
(→IO控制) |
||
| Line 464: | Line 464: | ||
=====数字宽动态===== | =====数字宽动态===== | ||
| − | 是一种通过软件或 ISP 算法来提升图像在高对比度场景(如强背光、明暗共存)下细节表现能力的技术。它与“光学/传感器级”的真宽动态(True WDR 或 | + | 是一种通过软件或 ISP 算法来提升图像在高对比度场景(如强背光、明暗共存)下细节表现能力的技术。它与“光学/传感器级”的真宽动态(True WDR 或 HDR)不同,不依赖特殊的硬件曝光机制,而是基于单帧或多帧图像进行后期增强。相关相关命令:drc |
====IO控制==== | ====IO控制==== | ||
| + | ===== 触发延时 ===== | ||
| + | 用于控制从接收到外部触发信号到实际开始曝光之间的时间间隔。它的单位通常是 微秒(μs)。 | ||
| + | |||
| + | 软硬触发均生效。 | ||
| + | |||
| + | 相关命令:trgdelay | ||
| + | |||
| + | ===== 触发边沿选择 ===== | ||
| + | “0: 上升沿触发”表示在信号从低变高时启动曝光, | ||
| + | |||
| + | “1: 下降沿触发”表示在信号从高变低时启动曝光; | ||
| + | |||
| + | 选择哪一种,取决于你的外部传感器或控制器输出信号的逻辑极性,目的是让相机在正确的物理事件发生时刻精准抓拍。 | ||
| + | |||
| + | 相关命令:trgedge | ||
| + | <br /> | ||
====本文修改记录==== | ====本文修改记录==== | ||
<br /> | <br /> | ||
Revision as of 16:15, 24 December 2025
GX系列MIPI摄像机模组功能手册
1 概述
GX系列产品具备卓越的ISP性能,多种工作模式,丰富的功能选项,可靠的稳定性设计,优秀的生产品控和供货能力。是嵌入式图像应用和AI应用的不二之选。
GX系列MIPI摄像机模组更加方便用户进行集成,标准22pin FPC用户接口,可以方便接入树莓派、英伟达、RK3588等嵌入式平台。
本文侧重于详细介绍MV系列产品的功能原理。关于硬件手册、寄存器、配置脚本、不同嵌入式平台的驱动及使用,请参考对应文档。
本文中,每个功能后[相关命令]一栏列出了gx_mipi_i2c.sh脚本中于此功能有关的命令。
1.1 摄像机型号列表
| Series | Model | Max Resolution | Shutter Mode |
|---|---|---|---|
| MV series | GX-MIPI-IMX662 | 1920×1080@60 fps | Rolling |
2 图像采集
2.1 卷帘式曝光和全局曝光
2.1.1 卷帘式曝光
卷帘式曝光 sensor 实现如下图所示。逐行曝光从第一行开始曝光,一个行周期之后第二行才开始曝光。依次类推,经过 N-1 行后第 N 行开始曝光。第一行曝光结束后开始读出数据,读出一行需要一行周期时间(含行消隐时间)。至第一行完全读出后,第二行刚好开始读出,依次类推,当第 N-1行读完后,第 N行开始读出,直到整幅图像完全读出。
2.1.2 全局曝光
全局曝光sensor实现如下图所示,sensor的所有行同时开始曝光,并同时结束曝光,在曝光结束后,sensor将所有电子从感光区转到存储区,之后逐行的读出像素数据。 这样曝光的好处是拍摄运动物体时图像不会出现偏移和歪斜。
2.2 开始/停止采集
可以在任意时刻向相机发送开始采集和停止采集命令。摄像机收到开始采集命令后,如工作在视频流模式,则立刻开始曝光并输出图像;如工作在触发模式,则进入等待触发信号状态。同时,摄像机进入running状态。
摄像机收到停止采集命令后,会完成当前正在传输的帧以确保帧完整性,然后停止输出图像并进入standby状态。注意,如果设置了触发多帧,并且还没有完成所有图像帧输出,则会打断触发过程。也就是说,停止采集操作只会保证当前帧的完整性,不保证整个触发周期的完整性。
一般情况下,驱动会自动发送开始/停止采集命令,用户无需主动控制寄存器。
相关命令:imgacq。
2.3 视频流模式
视频流模式下,摄像机会按照配置的分辨率和帧率,连续曝光并输出图像。同一个传感器,在不同的分辨率配置下,支持的最大帧率不同,请参考对应产品的datasheet。建议更改分辨率之后,通过maxfps功能获取支持的最大帧率。
一般情况下,驱动会根据应用层程序配置videomode和fps,用户无需主动控制寄存器。
相关命令 :workmode,videomode,fps,maxfps。
2.4 普通触发模式
2.4.1 Rolling shutter(卷帘式曝光)
本节适用型号:GX-MIPI-IMX662。
对于GX-MIPI-IMX662,为了保证触发图像的效果一致性,一个完整的图像帧需要三帧图像周期才可以完成从曝光到输出的过程。所以最大帧率为视频流模式的三分之一。
在此,我们将三个连续帧周期称为一个触发周期。
普通触发模式下,如一次触发多帧,触发延迟作用在本次触发信号后,触发间隔和曝光延迟都在每一个触发周期前有效。
下图以触发触发帧数设置为2为例:
2.5 同步模式(TBD)
2.6 工作模式的切换
在运行中工作模式不可以任意时刻切换,必须要先停止采集,然后才能切换为新的工作模式。
2.7 触发源
摄像机支持软触发和硬触发两种触发源,这两种方式只是触发信号来源不同。触发延迟、曝光延迟、触发帧数、触发间隔等配置和功能完全一致。
注意,触发源设置仅对普通触发模式和滚动快门多帧触发模式有效。
相关命令:trgsrc。
2.7.1 软触发
通过i2c总线,向摄像机对应寄存器写入1,则进行了一次软触发。
由于软件处理和i2c传输均存在一定的延时,因此软触发的及时性比硬触发要差,对及时性要求高的场合,建议采用硬触发。
相关命令:trgone。
2.7.2 硬触发
硬触发模式下,摄像机通过采集TrigIN IO的电平变化获得触发信号。详情见IO控制章节。
2.8 触发统计
触发统计功能统计了总触发数量以及触发丢失的数量。
总触发数量的定义:硬触发模式下,为经过触发过滤之后的触发数;软触发模式下,为所有触发数。
当摄像机接收到硬触发或者软触发信号时,如果其正处于触发周期,将无法响应新的触发信号,此时会造成触发信号丢失。
切换工作模式或者触发源,不会自动清空此统计。
相关命令:trgcount,trgclr。
2.9 图像属性
2.9.1 测试图
2.9.1.1 竖向彩条
相关命令: testimg
2.9.2 像素格式
GX系列相机输出格式符合MIPI CSI-2标准,以GX_MIPI_IMX662为例支持的像素格式如下表
| 参数 | 描述 |
|---|---|
| 0 | Mono8 |
| 1 | Mono10 |
| 2 | Mono12 |
| 3 | Mono14(预留) |
| 4 | UYVY |
| 5 | RGB888 |
| 7 | YUYV |
相关命令: pixelformat
2.9.3 图像尺寸和最大帧率
| 型号 | 图像尺寸 | 最大帧率 |
|---|---|---|
| GX_MIPI_IMX662 | 1920*1080 | 60fps |
相关命令: curwh , maxfps
2.9.4 图像方向
| 参数 | 描述 |
|---|---|
| 0 | 正常(Origin) |
| 1 | 镜像(Mirror) |
| 2 | 翻转(Flip) |
| 3 | 翻转与镜像(Mirror & Flip) |
相关命令: imgdir
2.9.5 图像模式
图像模式通常指的是图像传感器在捕捉图像时采用的不同工作模式。这些模式决定了传感器如何读取和处理从像素阵列捕获的数据,从而影响输出图像的质量、分辨率以及低光性能等特性。
normal模式:
- 在这种模式下,图像传感器会以它的最大分辨率读取每个像素的信息,这意味着每一个物理像素都对应着输出图像中的一个像素。
- 这种模式适合需要高分辨率图像的应用场景,如文档扫描或需要详细背景的摄影。
- 优点是图像细节丰富,分辨率高;缺点是在低光照条件下可能产生更多噪点。
2x2binning模式:
- 在此模式中,相邻的2x2个像素(即4个像素)被组合成一个超级像素。这样做可以提高图像的感光度,因为四个像素的信号被合并在一起。
- 这种模式通常用于改善低光条件下的图像质量,减少噪点,并且可以加快图像读出速度。
- 缺点是图像分辨率降低为原来的四分之一,因此不适合需要高分辨率的场合。
subsampling模式:
- 该模式是一种跳过某些行和列的方式读取图像数据,以此来减少输出图像的分辨率。例如,如果采取2x的子采样率,则只会读取每隔一行和一列的像素信息。
- 这种模式可以提供比Binning模式更高的分辨率,但仍然低于Normal模式,同时保持了较好的低光性能。
- 它适用于那些对分辨率要求不是最高,但需要快速读取图像或者传输带宽有限的场景。
相关命令: readmode
2.9.6 lane数目
用于摄像头(CSI-2)和显示屏(DSI)的数据传输。其中,MIPI CSI-2(Camera Serial Interface 2)是摄像头常用的接口协议。
在 MIPI CSI-2 中,数据通过一个或多个 差分信号对(称为 Lane,即“通道”)进行高速传输。每个 Lane 包含一对差分信号线(正负),用于单向传输图像数据。
当前GX_MIPI_IMX662支持2lan输出。
| 项目 | 2-lane | 4-lane |
|---|---|---|
| 带宽 | 较低 | 更高(约 2 倍) |
| 支持分辨率/帧率 | 如 1080p@60fps、720p@120fps | 如 4K@30fps、1080p@120fps+ |
| PCB 布线复杂度 | 简单 | 更复杂(需更多差分对,严格等长匹配) |
| 功耗 | 较低 | 略高 |
| 兼容性 | 广泛支持 | 需主控和传感器均支持 4-lane |
相关命令: lanenum
2.9.7 mipi输出lane速率
是指 每条数据通道(Lane)上传输数据的速度,通常以 Gbps(Gigabits per second) 为单位。
Lane 速率 = 每条 Lane 每秒能传输多少比特(bit)的数据
- 单位:Mbps 或 Gbps
- 例如:1.5 Gbps/Lane 表示每条 Lane 每秒可传 15 亿比特
- 总带宽 = Lane 数 × 每 Lane 速率 如 4-Lane @ 2.0 Gbps → 总带宽 = 8 Gbps
这里的mipi相机属于低功耗,原始数据量小应用,传输速率以kbps计算
相关命令: mipidatarate
2.9.8 视频模式
对于 Gx 系列相机模块,支持 8 种预设的视频分辨率与帧率组合,可通过配置参数 [0–7] 进行选择,以匹配不同的应用场景和性能需求。
以 GX_MIPI_IMX662 为例:
- 默认配置为 参数 0
- 对应的输出格式为 1080p@60fps(1920×1080,60 帧/秒)
用户可根据实际需要,通过切换配置索引(0 到 7)快速启用其他分辨率或帧率模式。
相关命令: videomode
2.9.9 最小帧率
当前模式下支持的最小帧率的10000倍
如GX_MIPI_IMX662,支持的最小帧率是0.065fps
相关命令: minfps
2.9.10 帧率
相机每秒钟捕获或输出的图像帧数,单位是 fps
相关命令: fps
2.10 ISP功能
2.10.1 曝光模式
曝光是指图像传感器接收光线的时间长度。
- 曝光时间越长 → 传感器接收的光越多 → 图像越亮(但也可能模糊)
- 曝光时间越短 → 接收光越少 → 图像越暗(但可冻结高速运动)
Gx系列相机支持手动和自动曝光模式
相关命令:expmode
2.10.1.1 自动曝光
- 相机自动调整曝光时间(有时也包括增益/ISO),使画面亮度保持在合理范围。
- 适用于光照变化的场景(如户外、室内切换)。
2.10.1.2 手动曝光
- 用户固定设置曝光时间(和增益),相机不再自动调整。
- 优点:
- 帧间亮度一致
- 可精确控制运动模糊
- 适合高速拍摄、同步触发、AI推理等场景
- 缺点:若环境光突变,图像可能过曝或欠曝
2.10.2 目标亮度
自动曝光的目标亮度,是相机自动调节曝光参数时所追求的“理想画面亮度”,它直接影响成像的明暗风格,并可根据应用需求进行优化设置。
相关命令:aetarget
2.10.3 曝光策略
是指相机在启用自动曝光(Auto Exposure, AE)功能时,如何动态调整曝光参数(如曝光时间、模拟/数字增益),以使图像亮度达到目标值的一套控制逻辑和算法规则。
不同策略适用于不同场景,直接影响成像的稳定性、响应速度、噪声水平和运动模糊程度。
在Gx系列中有以下两种模式:
- 亮区优先模式(高光优先)
- 暗区优先模式(低光优先)
相关命令:aestrategy
2.10.4 手动曝光时间
是指图像传感器每个像素接收光线照射的持续时间,单位通常是:
- 微秒(μs)——嵌入式/工业相机常用
- 毫秒(ms)或 秒(s)——消费级相机常用
用户显式设定一个固定的曝光时间值(单位通常为微秒 μs 或毫秒 ms),相机不再自动调整,始终保持该曝光时长。
优点:
- 帧间亮度高度一致,无闪烁;
- 可精确控制运动模糊(短曝光冻结动作,长曝光制造拖影);
- 易与外部光源(如闪光灯、频闪灯)同步;
- 是工业检测、AI视觉、科学成像等专业应用的标准配置。
缺点:
- 环境光突变时,图像可能过曝(太亮)或欠曝(太暗);
- 需要用户具备一定成像知识,或依赖稳定光照条件;
- 曝光时间不能超过 1 / 帧率(否则会丢帧)。
相关命令:metime
2.10.5 自动最大曝光时间
是相机在启用自动曝光(Auto Exposure, AE)功能时,允许系统自动调节的曝光时间上限。它是一个非常重要的限制参数,用于在保证画面亮度的同时,防止曝光时间过长带来的问题(如运动模糊、帧率下降等)。
相关命令:aemaxtime
2.10.6 当前曝光时间
是指相机在当前帧或当前工作状态下,实际使用的曝光时间值。它是反映相机“此刻感光时长”的实时参数,无论相机处于自动曝光还是手动曝光模式下,都有对应的“当前曝光时间”。
相关命令:exptime
2.10.7 手动增益
指用户显式设定图像传感器或 ISP(图像信号处理器),而不是由相机自动调整。
- 增益(Gain)本质上是对传感器输出的电信号进行放大的操作,类似于音响的“音量放大”。
- 单位通常为 dB(分贝):如 0 dB、6 dB、12 dB、24 dB
相关命令:mgain
2.10.8 自动增益的最大值
是相机在启用自动增益(Auto Gain)功能时,允许系统自动提升增益的上限。它是一个关键的限制参数,用于在提升图像亮度的同时,防止因增益过高而导致图像质量严重下降(如噪声爆炸、细节丢失、色彩失真等)。
相关命令:aemaxgain
2.10.9 当前增益
是指相机在当前帧或当前工作状态下,实际正在使用的增益值。它是反映图像信号被放大程度的实时参数。
相关命令:curgain
2.10.10 白平衡
用于确保在不同光源下,白色物体在图像中仍然呈现为“白色”,从而让整个画面的色彩还原真实、自然。
通过调整 R/G/B 通道增益,消除光源色偏,使白色物体在图像中真实还原为白色,从而保证整体色彩准确性。
相关命令:wbmode
2.10.10.1 手动白平衡
是一种由用户主动设定或校准图像色彩增益参数的方式,用于在特定光照条件下精确还原真实色彩,避免自动白平衡(AWB)可能带来的色偏、抖动或误判。
让白色物体在图像中真正呈现为“中性灰/白”,不偏黄、不偏蓝、不偏绿。
相关命令:mwbrgain , mwbbgain
2.10.11 自动白平衡
在各种不同色温的光源下,自动调整图像的红、绿、蓝通道增益,使白色或中性灰色物体在画面中真实还原为“白色”,从而让整体色彩看起来自然、准确。
相关命令:awbcolortempmin,awbcolortempmax
2.10.12 当前色温
指相机在当前成像状态下,所采用或估算的光源色温值,单位为 开尔文(K)。它反映了系统对当前光照“冷暖程度”的判断或设定,是白平衡控制中的一个关键参数。
相关命令:colortemp
2.10.13 当前白平衡 R增益
是指相机在当前成像状态下,为实现白平衡而施加在红色(Red)。它是白平衡控制中最核心的参数之一,直接影响图像的色调和色彩准确性。
相关命令:currgain
2.10.14 当前白平衡 B增益
是指相机在当前成像状态下,为实现白平衡而施加在蓝色(Blue)。它是与 R 增益(Red Gain)配合使用的核心参数,共同决定图像的色彩平衡和色温表现。
相关命令:curbgain
2.10.15 抗闪烁
是相机中用于消除人工光源频闪干扰的一项关键设置。它通过调整曝光时间与电网频率同步,避免在 LED、荧光灯等照明下拍摄时出现明暗条纹、亮度跳变或滚动暗带等问题。
为消除交流光源频闪干扰而设置的电网频率参数(50Hz 或 60Hz),通过约束曝光时间为闪烁周期的整数倍,确保画面亮度稳定、无滚动暗带。
相关命令:antiflicker
2.10.16 锐化
用于增强图像边缘和细节的清晰度,使画面看起来更清晰锐利。它广泛应用于摄影、视频、机器视觉和显示系统中。
图像在采集和传输过程中会经历多种模糊因素,例如:
- 镜头光学像差
- 传感器低通滤波(防摩尔纹)
- 对焦轻微不准
- 运动模糊或压缩失真
这些都会导致边缘过渡平缓、细节模糊。
锐化的作用就是反向补偿这种模糊,强化边缘对比度。
相关命令:sharppen
2.10.17 2D降噪
主要是针对单帧图像进行处理,它通过分析图像中像素与其周围像素的关系来识别并减少噪声。常见的2D降噪技术包括:
- 均值滤波
- 高斯滤波
- 双边滤波
- 中值滤波
相关命令:denoise2d
2.10.18 3D降噪
有时也称为时空降噪,是在2D降噪的基础上加入了时间维度的考量,即利用连续多帧之间的相关信息来进行降噪。这种方法尤其适合视频序列的降噪处理,因为它不仅考虑了单帧内的空间信息,还考虑了跨帧的时间信息。典型的应用场景包括视频监控、影视制作等。
3D降噪相较于2D降噪能够提供更好的降噪效果,特别是在处理低光照条件下的视频时。然而,3D降噪算法通常计算复杂度较高,实现起来更加困难,并且如果参数设置不当,可能会导致画面出现拖尾或者模糊的现象。
相关命令:denoise3d
2.10.19 饱和度
饱和度表示颜色的“纯度”或“鲜艳程度”。
- 饱和度越高 → 颜色越鲜艳、越浓烈(如鲜红、亮蓝)
- 饱和度越低 → 颜色越接近灰色(如粉红、灰蓝)
- 饱和度为 0 → 图像变为黑白灰(无彩色)
相关命令:saturation
2.10.20 对比度
对比度表示图像中最亮区域与最暗区域之间的亮度差异程度。
- 对比度高 → 黑更黑、白更白,层次分明
- 对比度低 → 画面“发灰”、“雾蒙蒙”,细节模糊
相关命令:contrast
2.10.21 色度
色度是颜色的两个属性——色调(Hue)和饱和度(Saturation)的统称,用于描述“颜色是什么”以及“有多纯”,不包含亮度信息。
相关命令:hue
2.10.22 自动降帧
是指相机或视频系统在特定条件下自动降低输出帧率(FPS, Frames Per Second)的行为。这种机制通常是为了适应硬件限制、光照条件或系统负载,确保成像稳定性或避免数据丢失。
在GX系列中该功能要配合最大曝光时间使用
此设置仅在自动曝光模式 + 视频流模式下有效。它决定了 Aemode 是处于固定帧率模式还是自动帧率缩减模式。
该功能使用时,需要最大曝光时间配合使用,设置aemaxtime=1000000(us),然后再设置slowshutter使能和降帧增益阈值。
相关命令:slowshutter
2.10.23 畸变校正
图像处理中用于消除或减轻镜头光学畸变的技术,目的是让图像中的直线在成像后依然保持“直”,几何形状更接近真实世界。这在机器视觉、自动驾驶、测量、AR/VR 等对几何精度要求高的场景中至关重要。
相关命令:ldc
2.10.24 去雾
用于消除或减轻因大气散射(如雾、霾、烟、水下浑浊等),从而恢复图像的清晰度、对比度和真实色彩。
相关命令:dehaze
2.10.25 gamma
是一种模拟人眼感知特性的非线性亮度映射,通过在编码时压缩亮部、保留暗部信息,在显示时还原自然观感,是数字成像中确保图像看起来正确的关键技术。
在GX系列中,我们调试好了几种不同效果的gamma效果,可根据实际场景进行调节
相关命令:gamma_index
2.10.26 数字宽动态
是一种通过软件或 ISP 算法来提升图像在高对比度场景(如强背光、明暗共存)下细节表现能力的技术。它与“光学/传感器级”的真宽动态(True WDR 或 HDR)不同,不依赖特殊的硬件曝光机制,而是基于单帧或多帧图像进行后期增强。相关相关命令:drc
2.11 IO控制
2.11.1 触发延时
用于控制从接收到外部触发信号到实际开始曝光之间的时间间隔。它的单位通常是 微秒(μs)。
软硬触发均生效。
相关命令:trgdelay
2.11.2 触发边沿选择
“0: 上升沿触发”表示在信号从低变高时启动曝光,
“1: 下降沿触发”表示在信号从高变低时启动曝光;
选择哪一种,取决于你的外部传感器或控制器输出信号的逻辑极性,目的是让相机在正确的物理事件发生时刻精准抓拍。
相关命令:trgedge
2.12 本文修改记录
