# 启用高动态范围

Note

本节仅适用于 QCS6490。

交错式高动态范围 (SHDR) 模式是一种传感器功能，可输出具有不同曝光时间的帧，即长曝光帧 (LEF) 和短曝光帧 (SEF)。

- 传感器将两条线作为一个单元输出。LEF 的帧和 SEF 的帧在这两条线中交替输出。
- 卷帘快门读出是交错的（行交错），因此在对长曝光进行采样后立即开始短曝光（在同一帧内）。这一模式也称为数字重叠 (DOL) 模式。
- SHDR 传感器能够使用单个虚拟通道（单个帧交错包含 LEF 和 SEF）或使用不同的虚拟通道（LEF 和 SEF 帧分别在不同的虚拟通道中输出）输出 LEF 和 SEF 帧。
- Qualcomm 芯片组有两种解决方案（SHDR v3 和 SHDR v2）。SHDR v3 适用于双虚拟通道。SHDR v2 适用于单虚拟通道。

Note

使用 SSH 连接到设备控制台。相关说明，请参见[如何使用 SSH](https://docs.qualcomm.com/bundle/publicresource/topics/80-70022-254/how_to.html#use-ssh)。

请在设备上运行以下命令，以收集日志：

# journalctl -f > /opt/log.txt
    Copy to clipboard

## SHDR v3 – 具有双帧曝光的双虚拟通道

SHDR v3 解决方案使用传感器，可以在不同的 CSI 虚拟通道上发送曝光帧（LEF 和 SEF）。长曝光帧和短曝光帧在不同的虚拟通道上传输。

使用以下 GStreamer 命令启用 SHDR v3：

gst-launch-1.0 -e qtiqmmfsrc name=camsrc camera=0 vhdr=2 ! \
    video/x-raw,format=NV12,width=3840,height=2160,framerate=30/1,\
    interlace-mode=progressive,colorimetry=bt601 ! v4l2h264enc \
    capture-io-mode=4 output-io-mode=5 extra-controls="controls,video_bitrate=6000000,\
    video_bitrate_mode=0;" ! h264parse ! mp4mux ! filesink location=/opt/cam_4k.mp4
    Copy to clipboard

视频文件保存在 `/opt/cam_4k.mp4`。

请检查以下日志，以便验证是否选择了 SHDR v3 用例：

cam-server: CamX: [CORE_CFG]891 23288 [CORE  ] camxpipeline.h:3024 SetPipelineStatus() RealTimeYUVSHDR_0 status is now PipelineStatus::STREAM_ON
    Copy to clipboard

## SHDR v2 – 具有两帧曝光的单虚拟通道

SHDR v2 解决方案要求传感器以交错方式（也称为 DOL 模式）在单个虚拟通道上同时输出 LEF 和 SEF。卷帘快门读出是交错的（行交错），因此在对长曝光进行采样后立即开始短曝光（在同一帧内）。

使用以下 GStreamer 命令启用 SHDR v2

gst-launch-1.0 -e qtiqmmfsrc name=camsrc camera=0 vhdr=1 ! \
    video/x-raw,format=NV12,width=3840,height=2160,framerate=30/1,\
    interlace-mode=progressive,colorimetry=bt601 ! v4l2h264enc \
    capture-io-mode=4 output-io-mode=5 extra-controls="controls,video_bitrate=6000000,\
    video_bitrate_mode=0;" ! h264parse ! mp4mux ! filesink location=/opt/cam_4k.mp4
    Copy to clipboard

视频文件保存在 `/opt/cam_4k.mp4`。

要验证是否选择了 SHDR v2 用例，请检查以下日志：

cam-server: CamX: [CORE_CFG]852 2070 [CORE] camxpipeline.h:3015 SetPipelineStatus()
    RealTimeSHDR_0 status is now PipelineStatus::STREAM_ON
    Copy to clipboard

## 除雾功能

除雾是一种雾检测和清除技术。该功能允许用户在下雨、烟雾、雾霾或浓雾等恶劣天气状况下消除雾效应。它通过提高 SHDR v2 和 SHDR v3 用例中的图像质量来提供除雾图像。除雾库使用从 IFE、BPS 和 IPE 收集的统计信息和插值数据进行除雾操作，并为 IQ 模块生成新表以便在下一帧中应用。

要验证除雾功能，请执行以下操作：

1. 使用 `/var/cache/camera/camxoverridesettings.txt` 中的 `shdrModeType=5` 覆写设置可在 SHDR 用例中启用除雾功能。
2. 使用 `/var/cache/camera/camxoverridesettings.txt` 中的下列覆盖设置，验证除雾功能是否正常运行：

logInfoMask=0x40000
        logVerboseMask=0x40000
        Copy to clipboard
3. 测试除雾功能。

    - 运行以下命令，使用 SHDR v2 用例测试除雾：

gst-pipeline-app -e qtiqmmfsrc name=camsrc vhdr=1  ! \
        video/x-raw,format=NV12,width=3840,height=2160,framerate=30/1,\
        interlace-mode=progressive,colorimetry=bt601 ! v4l2h264enc capture-io-mode=4 \
        output-io-mode=5  extra-controls="controls,video_bitrate=6000000,video_bitrate_mode=0;" ! queue ! \
        h264parse ! mp4mux ! queue ! filesink location=/opt/cam_4k.mp4
        Copy to clipboard

    - 运行以下命令，使用 SHDR v3 用例测试除雾：

gst-pipeline-app -e qtiqmmfsrc name=camsrc vhdr=2 ! \
        video/x-raw,format=NV12,width=3840,height=2160,framerate=30/1,\
        interlace-mode=progressive,colorimetry=bt601 ! v4l2h264enc capture-io-mode=4 \
        output-io-mode=5 extra-controls="controls,video_bitrate=6000000,video_bitrate_mode=0;" ! queue ! \
        h264parse ! mp4mux ! queue ! filesink location=/opt/cam_4k.mp4
        Copy to clipboard
4. 启用除雾。

    1. 选择 **(1) READY**。
    2. 选择 **(3) PLAYING**。
    3. 按下 **Enter**。
    4. 选择 **(p) Plugin Mode**。
    5. 选择 **(8) camsrc**。
    6. 选择 **(24) defog-table**。
    7. 输入以下字符串以启用除雾。

org.quic.camera.defog, enable=true, strength=3, ates_strength=1;
            Copy to clipboard
    8. 选择 **(b) BACK**，然后选择 **(q) QUIT**，关闭摄像头。视频文件保存在 /opt/cam\_4k.mp4。
5. 检查以下日志以验证除雾功能是否启用：

defog.cpp:5782 DefogInitialize() ===================== Defog lib v2.5.0=====================
        cam-server: CamX: [ VERB]793766 793830 [CHI ] camxchinodedefog.cpp:1981 SetDeFog2ConfigParams() Previous ( defog_en = 0 defog_strength = 0 ates_strength = 0
        cam-server: CamX: [ VERB]793766 793830 [CHI ] camxchinodedefog.cpp:1984 SetDeFog2ConfigParams() Current ( defog_en = 1 defog_strength = 3 ates_strength = 1
        Copy to clipboard

Last Published: Oct 28, 2025

[Previous Topic
支持软件 TNR/MCTF](https://docs.qualcomm.com/bundle/publicresource/80-70022-17SC/topics/support-software-tnr-mctf.md) [Next Topic
启用 EIS 和 LDC](https://docs.qualcomm.com/bundle/publicresource/80-70022-17SC/topics/enable-eis-and-ldc.md)