This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TDA4VM:询问灯变为紫色的问题

Guru**** 2556880 points
Other Parts Discussed in Thread: SK-TDA4VM

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1552214/tda4vm-inquiry-about-the-issue-of-lights-turning-purple

器件型号:TDA4VM


工具/软件:

尊敬的 Gang:

关于灯泡出现紫色的问题,我创建了一个新的主题,我们可以在这里讨论。

首先、如何判断是 ISP 问题还是驱动程序问题?  

1.我向相机模块制造部门的同事询问当时正在使用其他工具激活 X3C 的图片。  如图所示、在没有软件驱动程序或 ISP 处理的情况下、该灯呈白色、这可以证明摄像头模块处于良好状态。

2.用软件驱动程序和 Gstreamer 命令保存原始图像,无需 ISP 处理,灯呈白色。

gst-launch-1.0 -v v4l2src num-buffers=1 device=/dev/video-ox03c10-cam0 io-mode=dmabuf ! video/x-bayer, width=1920, height=1280, framerate=30/1, format=bggr12 ! multifilesink location="image-%d.raw"

因此、我怀疑问题出在 ISP 方面。 您认为我应该做些什么来找出原因?
谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Gang:

    1.经过多次测试后,我发现这似乎是 WDR 分解扩展的问题。 如下图所示、如果删除最后 4 对坐标、室内色调和灯的颜色都是正常的。 但是、当这些坐标被重新添加时、包括灯在内的整个室内区域会变为紫色。 我应该如何解决此问题?

    2.我尝试修改 algos/ae/ti_aaa_ae.c 中的内容 src 我应该如何编译它以使更改生效?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ying:

    [引述 userid=“62991" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1552214/tda4vm-inquiry-about-the-issue-of-lights-turning-purple

    如图所示、在没有软件驱动程序或 ISP 处理的情况下、该灯呈白色、这可以证明摄像头模块处于良好状态。

    [/报价]

    是的、此原始图像看起来不错。

    如果您使用正确的 ISP 设置将其送入 ISP、则输出图像应该看起来很好。

    我将下面的 gstreamer 流水线用于旧 SDK 版本。

    gst-launch-1.0 多文件 rc stop-index=0 location=/opt/edgeai-test-data/raw_images/modules_test/imx390_raw_image_1936x1096_16bpp_exp0.raw caps=“video/x-Bayer、width=1936、height=1096、format=rgb16“! tiovxisp sensor-name=sensor_sony_IMX390_UB953_D3 dcc-isp-file=/opt/imaging/imx390/wdr/dcc_viss_wdr.bin format-msb=11 sink_0::dcc-2a-file=/opt/imaging/imx390/wdr/dcc_2a_wdr.bin! filesink location=output_imx390.yuv

    对于最新的 SDK、您可能需要添加“wdr-enabled=true"。“。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1535185/am62a7-awb-is-not-effective/5960218?tisearch=e2e-sitesearch&keymatch=wdr_enabled#

    我怀疑问题出在 ISP 方面。 您认为我应该做些什么来找到原因?

    如果 AWB 增益出错或向传感器发送了一些错误的寄存器值、则运行时输出颜色可能会出错。

    您可以先从静态图像开始进行测试。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我应该如何编译它以使更改生效?

    这些更改将进入 gstreamer 流水线的 DCC 二进制文件。

    请参阅应用手册以了解详细信息。

    https://www.ti.com/lit/pdf/sprad86

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Gang:

    您可以先使用静态图像进行测试。

    测试后、静态图像正常、灯呈白色。  静态图像具有绿色色调、而动态图像具有紫色色调。

    如果 AWB 增益出错或一些错误的寄存器值发送到传感器、则运行时输出颜色可能会出错。
    接下来、如何检查 AWB 还是寄存器存在问题?
    谢谢!

    e2e.ti.com/.../static-images.rar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Gang:

    您能帮助我看看这个问题吗? 非常感谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ying:

    测试后、静态图像正常、灯呈白色。  静态图像具有绿色色调、

    静态外壳是否正常或带有绿色色调?

    接下来、我应该如何检查问题是 AWB 还是寄存器问题?

    您可以检查 AWB 输出增益在您的环境中是否稳定。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Gang:

    静态大小写是否正常或是否带有绿色色调?

    没关系。

    您可以检查 AWB 输出增益在您的环境中是否稳定

    如果静态图像正常、那么我下一步是检查 AWB 输出增益。 您能告诉我如何检查这个吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ying:

    如果静态图像正常、我下一步是检查 AWB 输出增益。 您能否告诉我如何检查?

    您可以打印 AWB 增益并检查是否存在任何异常值。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Gang:

    我明白您的意思。 您说我可以在‘imaging'源代码中打印 AWB 增益吗?  但是、如果我修改了代码、如何进行编译以使更改生效?  我正在使用 Linux EdgeAI 版本 TDA4VM-EVM、  但我找不到能够构建 2A 算法的 SDK(如用于 AM62A 的 SDK)。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ying:

    您是否在使用 SK-TDA4VM?

    https://www.ti.com/tool/SK-TDA4VM

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    [报价 userid=“62991" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1552214/tda4vm-inquiry-about-the-issue-of-lights-turning-purple/5980699 “] 我使用的是 TDA4VM-EVM、 Linux EdgeAI 版本

    不、我不使用 SK-TDA4VM。 我正在使用 TDA4VM-EVM。 您能帮我找到这个链接吗? 谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ying:

    我正在使用 TDA4VM-EVM。 您能帮助我找到链接吗?

    我不知道有任何 edgeai SDK 支持 TDA4VM-EVM。
    据我所知、edgeai 仅在 SK 板上受支持。

    复制 藤原大磨 作评论。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    1.我正在使用 TDA4VM-EVM。 我并不是想弄清楚是否可以下载 EdgeAI SDK。

    2.我的最终要求是:我修改了 imaging/algos/ae/ti_aaa_ae.c src ,我想知道如何编译它,使修改在电路板上生效。  您能理解我的需求吗?

    3.我找到了文档“如何针对 AM6xA Processor SDK Linux 修改和重新编译 TI 的 2A 算法“、但它不适用于 TDA4VM-EVM。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ying:

    我的最终要求是:我修改了 imaging/algos/ae/ae/ti_aaa_ae.c src、我想知道如何编译它以便修改在电路板上生效。  您能理解我的需求吗?

    TDA4VM-EVM 可与 RTOS 版本的 SDK 配合使用、并且无需额外的步骤即可重新构建 AE。

    https://www.ti.com/tool/PROCESSOR-SDK-J721E

    我找到了文档“如何针对 AM6xA Processor SDK Linux 修改和重新构建 TI 的 2A 算法“

    仅 SK 板需要。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Gang:

    您能否帮助确认我当前的开发板是否可以刷写 EdgeAI SDK? 如果可以、我是否需要重新安装 RTOS SDK 以构建 2A 算法? 谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ying:

    您能否帮助确认我当前的开发板是否可以刷写 EdgeAI SDK?

    EdgeAI SDK 不支持 TDA4VM-EVM。

    请按照 SDK 页面上“支持的产品和硬件“下的说明进行操作。

    https://www.ti.com/tool/PROCESSOR-SDK-J721E

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Gang:

    我了解 SDK 和紫色空白帧的问题、并已解决这些问题。 现在,让我们回到灯有一个紫色色调的问题。

    1.我打印出 AWB 增益,它们似乎是正常的。  您能帮我检查一下吗? 谢谢你。

    rY=77, gY=150, bY=29
    AE debug: R = 81, G = 117, B = 77
    AE debug: curY=102, avgY=101, locked=0, lockcnt=0
    AE debug: dec Tmin=100, Tmax=65535, Tstep=1
    AE debug: i=0, r=0, num=1
    AE debug: cA, cT, cAG, cDG = 1, 100, 1024, 256
    AE debug: nA, nT, nAG, nDG = 1, 100, 1024, 256, r=0
    WB gains: r_gain=256, g_gain=256, b_gain=256
    rY=77, gY=150, bY=29
    AE debug: R = 81, G = 117, B = 77
    AE debug: curY=102, avgY=101, locked=0, lockcnt=0
    AE debug: dec Tmin=100, Tmax=65535, Tstep=1
    AE debug: i=0, r=0, num=1
    AE debug: cA, cT, cAG, cDG = 1, 100, 1024, 256
    AE debug: nA, nT, nAG, nDG = 1, 100, 1024, 256, r=0
    WB gains: r_gain=256, g_gain=256, b_gain=256
    rY=77, gY=150, bY=29
    AE debug: R = 81, G = 118, B = 78
    AE debug: curY=102, avgY=101, locked=0, lockcnt=0
    AE debug: dec Tmin=100, Tmax=65535, Tstep=1
    AE debug: i=0, r=0, num=1
    AE debug: cA, cT, cAG, cDG = 1, 100, 1024, 256
    AE debug: nA, nT, nAG, nDG = 1, 100, 1024, 256, r=0
    WB gains: r_gain=256, g_gain=256, b_gain=256

    2. 可能是因为 WDR 压缩? 我应该如何解决它是否是由 WDR 引起的问题?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Gang:

    我在过去几天里没有收到你的答复。 希望您有时间帮助我调查我的问题。 非常感谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ying:

    我在过去几天里没有收到您的回复。 希望您有时间帮助我调查我的问题。 非常感谢。

    我间歇性地离开办公室、预计我的响应会出现延迟。

    我了解 SDK 和紫色空白帧的问题、我已经解决了这些问题。

    此问题的原因是什么?

    我之前在 SDK 软件中没有看到任何类似的问题
    一切都应该开箱即用。

    1. 我打印出了 AWB 增益、它们似乎是正常的。  您能帮我检查一下吗? 谢谢。
    [quote userid=“62991" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1552214/tda4vm-inquiry-about-the-issue-of-lights-turning-purple/5989881。  可能是 WDR 压缩造成的? 我应该如何解决它是否是由 WDR 引起的问题?

    我无法判断 AWB 是否在您的系统中正常工作。
    所有 AWB 增益均打印为 256 个、这并非典型值。

    我没有看到任何压缩问题,在您之前共享的原始图像和 xml 文件。
    您可能错过了工作流程中的某些内容。
    通常、AWB 只会在调优工具中完成校准后有效、除非光照条件超出校准范围。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Gang:

    ‘先前的日志以“TI_aaa_ae.c"打印“打印、不是很准确。 ‘日志打印在“ti_2a_wrapper/ti_2a_wrapper.c"中“中 src。 请您再找我看看吗?

    gst-launch-1.0 v4l2src device=/dev/video-ox03c10-cam0 io-mode=dmabuf-import ! video/x-bayer, width=1920, height=1280, format=bggr12 ! tiovxisp sink_0::device=/dev/v4l-ox03c10-subdev0 sensor-name=SENSOR_SONY_OX03C10_UB953_D3 dcc-isp-file=/opt/imaging/ox03c10/wdr/dcc_viss_wdr.bin ee_mode=EE_MODE_Y8  wdr-enabled=true sink_0::dcc-2a-file=/opt/imaging/ox03c10/wdr/dcc_2a_wdr.bin format-msb=11 ! video/x-raw, format=NV12, width=1920, height=1280 ! kmssink driver-name=tidss sync=false
    APP: Init ... !!!
    MEM: Init ... !!!
    MEM: Initialized DMA HEAP (fd=6) !!!
    MEM: Init ... Done !!!
    IPC: Init ... !!!
    IPC: Init ... Done !!!
    REMOTE_SERVICE: Init ... !!!
    REMOTE_SERVICE: Init ... Done !!!
       370.528389 s: GTC Frequency = 200 MHz
    APP: Init ... Done !!!
       370.528451 s:  VX_ZONE_INIT:Enabled
       370.528458 s:  VX_ZONE_ERROR:Enabled
       370.528464 s:  VX_ZONE_WARNING:Enabled
       370.529259 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:116] Added target MPU-0
       370.529362 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:116] Added target MPU-1
       370.529446 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:116] Added target MPU-2
       370.529520 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:116] Added target MPU-3
       370.529528 s:  VX_ZONE_INIT:[tivxInitLocal:136] Initialization Done !!!
       370.529982 s:  VX_ZONE_INIT:[tivxHostInitLocal:101] Initialization Done for HOST !!!
    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    [  364.526464] EXPOSURE reg value:00 64
    [  364.531058] AGAIN reg value:08 00
    [  364.536032] DGAIN reg value:03 40 00
    
       371.053515 s:  VX_ZONE_ERROR:[TI_2A_wrapper_create:126] DCC ID = 233
       371.053528 s:  VX_ZONE_ERROR:[TI_2A_wrapper_create:127] Image Format = 0
       371.053534 s:  VX_ZONE_ERROR:[TI_2A_wrapper_create:128] Phase = 0
       371.053540 s:  VX_ZONE_ERROR:[TI_2A_wrapper_create:129] awb_mode = 0
       371.053546 s:  VX_ZONE_ERROR:[TI_2A_wrapper_create:130] ae_mode = 0
       371.053551 s:  VX_ZONE_ERROR:[TI_2A_wrapper_create:131] awb_num_skip_frames = 0
       371.053557 s:  VX_ZONE_ERROR:[TI_2A_wrapper_create:132] ae_num_skip_frames = 0
       371.053643 s:  VX_ZONE_ERROR:[TI_2A_wrapper_create:164] Before dcc_update : awb_calb_data.radius = 0x32
       371.053702 s:  VX_ZONE_ERROR:[TI_2A_wrapper_create:[  364.651011] AGAIN reg value:01 00
    180] After dcc_update : awb_calb_data.radius = 0x32
       371.053873 s:  VX_ZONE_ERROR:[TI_2A_wrapper_create:261] DCC succeeded
       371.053912 s:  VX_ZONE_ERROR:[TI_2A_wrapper_create:274] AWB Initialization successful
       371.053945 s:  VX_ZONE_ERROR:[TI_2A_wrapper_create:292] AWB_ScratchMemory size = 10579
    IttCtrl_registerHandler: command echo registered at location 0
    IttCtrl_registerHandler: command iss_read_2a_params registered at location 1
    IttCtrl_registerHandler: command iss_write_2a_params registered at location 2
    IttCtrl_registerHandler: command iss_raw_save registered at location 3
    IttCtrl_registerHandler: command iss_yuv_save registered at location 4
    IttCtrl_registerHandler: command iss_read_sensor_reg registered at location 5
    IttCtrl_registerHandler: command iss_write_sensor_reg registered at location 6
    IttCtrl_registerHandler: command dev_ctrl registered at location 7
    IttCtrl_registerHandler: command iss_send_dcc_file registered at location 8
    Error: failed to open i2c bus at /dev/i2c-9
    Warning: Failed to initialize i2c bus. Register read/write will not work !!!
     NETWORK: Opened at IP Addr = 192.168.10.99, socket port=5000!!!
    Redistribute latency...
       371.112096 s:  VX_ZONE_ERROR:[decode_h3a_header_dcc:658] decode_h3a_header_dcc : num_rows = 16
       371.112115 s:  VX_ZONE_ERROR:[decode_h3a_header_dcc:659] decode_h3a_header_dcc : num_cols = 32
       371.112122 s:  VX_ZONE_ERROR:[decode_h3a_header_dcc:660] decode_h3a_header_dcc : num_pix = 80
       371.112128 s:  VX_ZONE_ERROR:[AWB_TI_parse_H3a_buf:834] H3A color: r=3, gr=2, gb=1, b=0
    rY=77, gY=150, bY=29
    AWB raw gains - R: 515, Gr: 256, Gb: 256, B: 439
    Mapped WB gains - R[3]: 1024, Gr[2]: 512, Gb[1]: 512, B[0]: 878
    AWB Gain = (670, 512, 512, 724)
    Saved Ctrl gains - R: 724, G: 512, B: 670
       465.795667 s:  VX_ZONE_ERROR:[decode_h3a_header_dcc:658] decode_h3a_header_dcc : num_rows = 16
       465.795707 s:  VX_ZONE_ERROR:[decode_h3a_header_dcc:659] decode_h3a_header_dcc : num_cols = 32
       465.795714 s:  VX_ZONE_ERROR:[decode_h3a_header_dcc:660] decode_h3a_header_dcc : num_pix = 80
       465.795720 s:  VX_ZONE_ERROR:[AWB_TI_parse_H3a_buf:834] H3A color: r=3, gr=2, gb=1, b=0
    awbStatus:0
    AWB raw gains - R: 508, Gr: 256, Gb: 256, B: 435
    Mapped WB gains - R[3]: 1022, Gr[2]: 512, Gb[1]: 512, B[0]: 876
    AWB Gain = (670, 512, 512, 723)
    Saved Ctrl gains - R: 723, G: 512, B: 670
       465.861696 s:  VX_ZONE_ERROR:[decode_h3a_header_dcc:658] decode_h3a_header_dcc : num_rows = 16
       465.861738 s:  VX_ZONE_ERROR:[decode_h3a_header_dcc:659] decode_h3a_header_dcc : num_cols = 32
       465.861744 s:  VX_ZONE_ERROR:[decode_h3a_header_dcc:660] decode_h3a_header_dcc : num_pix = 80
       465.861751 s:  VX_ZONE_ERROR:[AWB_TI_parse_H3a_buf:834] H3A color: r=3, gr=2, gb=1, b=0
    awbStatus:0
    AWB raw gains - R: 508, Gr: 256, Gb: 256, B: 437
    Mapped WB gains - R[3]: 1022, Gr[2]: 512, Gb[1]: 512, B[0]: 876
    AWB Gain = (670, 512, 512, 723)
    Saved Ctrl gains - R: 723, G: 512, B: 670
       465.927623 s:  VX_ZONE_ERROR:[decode_h3a_header_dcc:658] decode_h3a_header_dcc : num_rows = 16
       465.927661 s:  VX_ZONE_ERROR:[decode_h3a_header_dcc:659] decode_h3a_header_dcc : num_cols = 32
       465.927668 s:  VX_ZONE_ERROR:[decode_h3a_header_dcc:660] decode_h3a_header_dcc : num_pix = 80
       465.927674 s:  VX_ZONE_ERROR:[AWB_TI_parse_H3a_buf:834] H3A color: r=3, gr=2, gb=1, b=0
    rY=77, gY=150, bY=29
    awbStatus:0
    AWB raw gains - R: 509, Gr: 256, Gb: 256, B: 436
    Mapped WB gains - R[3]: 1022, Gr[2]: 512, Gb[1]: 512, B[0]: 876
    AWB Gain = (670, 512, 512, 723)
    Saved Ctrl gains - R: 723, G: 512, B: 670
       465.993569 s:  VX_ZONE_ERROR:[decode_h3a_header_dcc:658] decode_h3a_header_dcc : num_rows = 16
       465.993610 s:  VX_ZONE_ERROR:[decode_h3a_header_dcc:659] decode_h3a_header_dcc : num_cols = 32
       465.993617 s:  VX_ZONE_ERROR:[decode_h3a_header_dcc:660] decode_h3a_header_dcc : num_pix = 80
       465.993624 s:  VX_ZONE_ERROR:[AWB_TI_parse_H3a_buf:834] H3A color: r=3, gr=2, gb=1, b=0
    awbStatus:0
    AWB raw gains - R: 510, Gr: 256, Gb: 256, B: 436
    Mapped WB gains - R[3]: 1022, Gr[2]: 512, Gb[1]: 512, B[0]: 876
    AWB Gain = (670, 512, 512, 723)
    Saved Ctrl gains - R: 723, G: 512, B: 670
       466.059538 s:  VX_ZONE_ERROR:[decode_h3a_header_dcc:658] decode_h3a_header_dcc : num_rows = 16
       466.059579 s:  VX_ZONE_ERROR:[decode_h3a_header_dcc:659] decode_h3a_header_dcc : num_cols = 32
       466.059586 s:  VX_ZONE_ERROR:[decode_h3a_header_dcc:660] decode_h3a_header_dcc : num_pix = 80
       466.059592 s:  VX_ZONE_ERROR:[AWB_TI_parse_H3a_buf:834] H3A color: r=3, gr=2, gb=1, b=0
    awbStatus:0
    AWB raw gains - R: 511, Gr: 256, Gb: 256, B: 436
    Mapped WB gains - R[3]: 1022, Gr[2]: 512, Gb[1]: 512, B[0]: 876
    AWB Gain = (670, 512, 512, 723)
    Saved Ctrl gains - R: 723, G: 512, B: 670
       466.125592 s:  VX_ZONE_ERROR:[decode_h3a_header_dcc:658] decode_h3a_header_dcc : num_rows = 16
       466.125629 s:  VX_ZONE_ERROR:[decode_h3a_header_dcc:659] decode_h3a_header_dcc : num_cols = 32
       466.125635 s:  VX_ZONE_ERROR:[decode_h3a_header_dcc:660] decode_h3a_header_dcc : num_pix = 80
       466.125641 s:  VX_ZONE_ERROR:[AWB_TI_parse_H3a_buf:834] H3A color: r=3, gr=2, gb=1, b=0
    rY=77, gY=150, bY=29

    2. 另外,我的 AWB 工作正常,因为我可以观察它的效果。

    我了解 SDK 和紫色空白帧的问题、我已经解决了这些问题。

    3、这是因为最小曝光值设置为 2A 时存在问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ying:

    以下日志打印在‘ti_2a_wrapper/ti_2a_wrapper.c src '中。

    是否仍在使用 edgeai?
    我想您已切换到 RTOS。

    您能再找我吗?

    这些增益值在我看来是一致的。

    此外、我的 AWB 功能正常、因为我可以观察其效果。

    感谢您的更新!

    这是因为在 2A 中设置最小曝光值时存在问题。

    好的、这可能会导致错误的传感器寄存器值。

    请按照以下常见问题解答来设置 AE。

     【常见问题解答】使用 TDA4/AM6xA ISP (VPAC) 为图像传感器设置自动曝光 (AE) 

     【常见问题解答】AM62A7:如何设置 2A 算法的最短/最长曝光时间和模拟增益? 

     【常见问题解答】AM62A7:如何针对 AM6xA Processor SDK Linux 修改和重新编译 TI 的 2A 算法? 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Gang:

    那么、我的 AWB 增益是否存在问题?   光源是否由这一原因引起?

    此外、我将首先将我当前的问题整理成一份文件。 我会请许先生将其转发给您。 请查看并了解是否有必要通过电话沟通、或者我们是否应该继续在 e2e 论坛上沟通。  感谢你的帮助

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ying:

    感谢您分享总结!

    那么、我的 AWB 增益是否有问题?   光源是否由此原因引起?

    如果色调是全局的、则通常是 AWB 校准问题。
    如果您在视图中看到大多数灰色对象是白色平衡的、这通常不是 AWB 本身的问题。

    光源周围的局部紫色通常是传感器中的一个问题 、尤其是在有运动时(即,您可能只看到有运动的紫色)。
    虽然传感器内部将多个曝光帧合并在一起、但它可能会产生紫色伪影、尤其是在运动过程中。
    一些 OVT 传感器可能需要在传感器中使用 AWB 增益、以避免这些紫色伪影。
    您可以与 OVT 联系以了解详情。

    与下面类似的紫色通常是传感器问题(或由于 ISP 中使用了错误的 WDR 压缩拐点)。
    AWB 工作正常、因为天花板已正确地实现白色平衡。

    H3A_INPUT_LSB 会同时影响 AE 和 AWB、但 很容易判断 AWB 是否正常工作(或者我们可以简单地使用固定 AWB 增益)。
    如果在更改 H3A_INPUT_LSB 时传感器曝光发生变化、则紫色颜色可能会有所不同、因为传感器内 HDR 合并会变得不同。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    关于控制 X3C 曝光的问题,您必须添加自己的代码来写入相应的 X3C 寄存器。
    例如、在以下链接中、在传感器驱动程序中修改了 IMX390 寄存器。
    https://git.ti.com/cgit/processor-sdk/imaging/tree/sensor_drv/src imx390/iss_sensor_imx390.c?h=main#n503

    TI SDK 中的参考 AE 代码仅控制曝光时间和增益。
    您需要根据 X3C 手册和 OVT 的支持、将它们映射到传感器驱动程序中的传感器寄存器设置。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    关于 NSF4 调优、您可以按照调优工具插件指南进行操作。

    1.传感器噪声分布随传感器增益(以及 AWB 增益,如果在 NSF4 之前应用)而变化。

    在噪声分布发生变化时、您可能需要单独调整 NSF4。

    2/3。 在每个传感器增益级别、您都需要获得 WDR 传感器在不同像素亮度水平下的噪声水平。

    这需要明亮和黑暗的照明场景以及多个原始图像才能捕获并一起使用、以便覆盖大部分 16 位 X 范围。

    4、噪声滤除是去除噪音和保持细节之间的权衡。
    不可能只在保留所有详细信息的同时消除噪声。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Gang:

    感谢您的答复,并在另一天提供帮助。 我总结了以下问题:

    1. 当没有运动时,光源和任何反射表面都显示为紫色。 这是否也是由传感器对多个曝光帧的合成引起的?

    2. 我向 OVT 报告了这种现象,他们回答:“ TI 需要有一个接口来覆盖传感器的 AWB 设置。 大像素和小像素的 QE 响应不同、因此需要校准比率并(实时)将其覆盖到 AWB 增益寄存器中。“ 此外、我还收到了传感器 Pre_AWB 的校准文档。 此解决方案是否适合解决此问题? TI 是否有一个接口用于实时控制传感器的 AWB 寄存器?

    再次感谢您的支持。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ying:

     当没有移动时、

    如果与任何运动相关、则可能是传感器 WDR 合并引起的。

    TI 是否有一个接口用于对传感器的 AWB 寄存器进行实时控制?

    有一个标志用于设置传感器中的 AWB 增益。

    https://git.ti.com/cgit/processor-sdk/imaging/tree/sensor_drv/include/iss_sensors.h?h=main#n632

    您也可以检查 AEWB 内核。

    https://git.ti.com/cgit/processor-sdk/imaging/tree/kernels/aewb/arm/vx_aewb_target.c?h=main#n94

    要将增益写入传感器、需要获得传感器驱动程序支持。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好 Gang、

    过去几天、我一直与 OVT 团队合作解决此问题。当前发现表明以前的传感器设置未标准化、具体而言、此摄像头的实际硬件动态范围低于 140dB。 当通过反向处理最终图像数据来获取原始传感器数据(原始)时、最大亮度值不得饱和。 这种饱和问题会导致 R、G 和 B 的比率出现偏差。

    为了解决这种现象、已对 WDR(宽动态范围)解析拐点进行了调整。 此外、还根据传感器的 LPD(低功耗检测)和 SPD(频谱功率分布)的特性实现了预 AWB(自动白平衡)。 虽然这些修改导致了紫色问题的改善、但尚未完全解决。

    1、 我想咨询一下:由于预 AWB 需要在进行相应的 RGB 比调整前确定当前色温,在 ISP 中可以获得当前色温吗? 谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ying:

    感谢您的更新!

    为了解决这一问题、已经对 WDR(宽动态范围)解析拐点进行了调整。 此外、还根据传感器的 LPD(低功耗检测)和 SPD(频谱功率分布)的特性实现了预 AWB(自动白平衡)。[/报价]

    我不明白传感器的细节。
    它通常需要对镜头/摄像头模块进行一些校准。

    在 ISP 中可以在哪里获得当前色温?

    ISP H/W 无法指示色温。

    只有 AWB 可以提供 AWB 增益和 CCT 估算。

    [/quote]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好 Gang、

    1. 是否是在 AWB 开源中提供 CCT 估算值的代码? 您能告诉我它的具体位置吗?

    2. 是否有直接输出视频流而无需 ISP 处理的命令? 我担心 ISP 可能会影响颜色投射问题、因此我想排除 ISP 以检查效果。

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ying:

    AWB 代码不是开源代码。

     是否有直接输出视频流而无需 ISP 处理的命令?

    我不知道有什么。
    原始传感器图像无法直接显示。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好 Gang、

    由于我无法实现良好的 AWB 效果、您能否帮助我检查 OV 提供的新 WDR 拐点坐标是否正确?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Ying:

    您能帮助我检查 OV 提供的新 WDR 拐点坐标是否正确吗?

    它看起来与正常的 OVT 拐点相似。
    它们是传感器寄存器初始化的一部分、OVT 应该能够轻松确认。

    、因为我无法实现良好的 AWB 效果

    您现在剩余的 AWB 问题是什么?