工具与软件:
各位同事、您好!
我们目前正在尝试将 LI-IMX728 120°FOV 摄像头与配合使用vision_apps > single_cam_app。 如果我们不使用 LDC、似乎不会遇到任何问题、一切都运行良好。 但是、当我们启用 LDC 时、显示输出会损坏。 具体而言、从左上角只显示部分120°FOV、在显示图像的最左边缘(第一个图像中的红色框)可以看到大约100个折断的像素行。
为了更加清楚、我将上传两个不同的图像、其中一个图像打开 LDC、另一个图像关闭 LDC。


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.
工具与软件:
各位同事、您好!
我们目前正在尝试将 LI-IMX728 120°FOV 摄像头与配合使用vision_apps > single_cam_app。 如果我们不使用 LDC、似乎不会遇到任何问题、一切都运行良好。 但是、当我们启用 LDC 时、显示输出会损坏。 具体而言、从左上角只显示部分120°FOV、在显示图像的最左边缘(第一个图像中的红色框)可以看到大约100个折断的像素行。
为了更加清楚、我将上传两个不同的图像、其中一个图像打开 LDC、另一个图像关闭 LDC。


您好、Brijesh:
我们尝试了两种不同的 LUT、其中第一个来自 imx728.patch 我们根据生成了第二个 规范文件 要求。 我们仔细检查了程序,似乎一切都按照8MP 设置,但问题仍然存在。 您能否检查以下设置是否存在任何问题?
此外、我将从 DCC 的 LDC 插件共享一个快照、因为从图中可以看出、LDC 在该插件中得到正确处理。
您好!
我在 [常见问题解答] TDA4VM 中发现了一个类似的已知问题:如何创建 LDC 网格 LUT 以在 TDA4上进行鱼眼失真校正? 我们似乎面临的问题与下文所述的问题相同。 但是、我有一个问题:这是什么 行距和 OBW 与 MATLAB 脚本或 DCC 设置中的相对应?
"
注释 :有一个已知的问题,截至03/224在 LDC 驱动器,要求输出图像行距, P (可能稍大的图像宽度),为 OBW 的倍数。
这不是 LDC H/W 的限制、而是通过 DMA 将 LDC 输出从 SL2复制到 DDR 时驱动器中的问题。
如果 OBW 不是 P 因数、您可能会在 LDC 输出图像的左边框(来自图像的右侧)上看到伪影。
如果您看到此类伪影、可以将 OBW 调整为 LDC 输出图像行间距的一个系数。
"
您好!
我在 TDA4VH-Q1的前一张票证 TDA4VH-Q1:TDA4VH 硬件上的 LDC 图像旋转中找到了 Gang Hua 的一条建议、说将 OBW 和 OBH 设置为32会使其成为多行间距。 我们试过、左侧的伪影似乎确实消失了、但显示的图像仍然是原始图像尺寸的1/4、就像左上方被裁剪了一样。 您对此有何建议
您好、Brijesh:
这是因为 SDK 中的默认 LUT 适用于200万像素映像、而您使用的是8MP 映像。 请更改8MP 映像的 LUT 以解决此问题[/QUOT]我在之前的回复中已经提到过、我已经根据8MP 从零开始创建 LUT、并且我已经共享设置(在以下 zip 文件中再次共享这些设置)。 您能否告诉我、这些设置中的哪一部分实际上会导致显示200万像素图像?
此致、
Berke
您好、Brijesh:
很难说出如果没有 lut
我还在下面共享 xml 和相关 LUT。 您可以查看它们以 找到问题吗?
e2e.ti.com/.../xml_5F00_lut.zip
[报价 userid="80721" url="~/support/processors-group/processors/f/processors-forum/1455495/tda4vh-q1-8mp-camera-corrupted-display-output-when-ldc-enabled/5585867 #5585867"]请注意、您要为两个方向上的 LDC LUT 设置下调比例因子16。 希望这是正确的。 [报价]我们尝试了不同的值来观察其影响、例如2^3和2^4、谢谢您的注意。
您是否首先使用 DCC 工具进行检查?
是的、在 DCC 工具中、它运行得非常好。 实际上、具有 LDC 校正的共享图像实际上是来自 DCC 调优工具插件的屏幕截图。
如果禁用 LDC、您能得到完整的输出帧吗?
是的、当 LDC 被禁用时、我们将得到完整的输出帧。
尊敬的 Berke:
好的、我看到了。 在这种情况下、我请您参考以下常见问题解答、并为该镜头生成 LDC LUT。
此致、
Brijesh
您好、Brijesh:
[报价 userid="80721" url="~/support/processors-group/processors/f/processors-forum/1455495/tda4vh-q1-8mp-camera-corrupted-display-output-when-ldc-enabled/5589808 #5589808"]请参阅以下常见问题解答并生成适用于此镜头的 LDC LUT。对于此测量、我已经提到过、我们遵循了常见问题解答、并为此镜头生成了 LDC LUT。 请参考以下报价。
我们根据生成了第二个问题 规范文件 从传感器供应商处获得。[/QUOT]似乎还有另一个我们尚未考虑的问题。
您好、Brijesh:
根据您之前的回复、似乎您 在 DCC 工具中获得了正确的输出、这是正确的吗? [报价]是的、是这样。
然后 在目标端提供 LUT 时出错。 DCC 工具和 目标之间的 LDC 参数是否完全相同? [报价]是的、我们直接使用相应的 xml 和 LUT。
[/quote][/quote]您在目标上使用的输入和输出图像是什么? 输入和输出图像的尺寸是否为8MP?[/QUOT]与禁用的 LDC 场景相同、输入8MP -输出2MP (与显示屏尺寸相同、可适应屏幕)。
[/quote]LDC LUT 映像大小是否设置为8MP?如果您引用的是 LDC 插件设置和 MATLAB 脚本、是的、我们找到了。 除此之外、我不知道我们应该设置什么位置。
谢谢。
Berke
[/quote][/quote][/quote]
尊敬的 Berke:
与禁用的 LDC 方案相同、输入8MP -输出2MP (与显示屏尺寸相同、以便能够显示在屏幕上)。
但是、您的 LDC LUT 是用于8MP 图像还是用于2MP 图像? 如果您的输出图像为200万像素、那么 LDC LUT 图像尺寸也应该为200万像素、不是吗?
此致、
Brijesh
尊敬的 Kaan:
[报价用户 id="606816" url="~/support/processors-group/processors/f/processors-forum/1455495/tda4vh-q1-8mp-camera-corrupted-display-output-when-ldc-enabled/5585972 #558592"]xml_lut.zipLDC 设置似乎适用于具有失真校正的8MP 到8MP 映射。
[报价 userid="80721" url="~/support/processors-group/processors/f/processors-forum/1455495/tda4vh-q1-8mp-camera-corrupted-display-output-when-ldc-enabled/5591871 #5591871"]但是您的 LDC LUT 是用于800万 像素图像还是用于200万像素图像? 如果您的输出图像为2MP、则 LDC LUT 图像尺寸也应为2MP、不是吗?[/QUOT]Brijesh 建议您将 LDC 设置更改为8MP 到2MP 的映射(包括失真校正)。
这将使单凸轮应用程序在监视器上显示整个校正视图。
如果您引用的是 LDC 插件设置和 MATLAB 脚本、是的、我们找到了。 除此之外、我不知道我们应该设置什么位置。
[报价]您可以进行的一个简单测试是修改您的 xml 文件、如下所示。
8192 // LDC_AB 仿射变换扭曲、A S16Q12
0 // LDC_AB B Affine Transform Warp、B S16Q12
0 // LDC_CD C 仿射变换扭曲、C S16Q3
0 // LDC_CD D 仿射变换扭曲、D S16Q12
8192 // LDC_EF E 仿射变换扭曲、E S16Q12
0 // LDC_EF F Affine Transform Warp、F S16Q3
0 // LDC_GH G Affine Transform Warp、G S16Q23
0 // LDC_GH 仿射变换扭曲、H S16Q23
这应该会让 LDC 将其输出图像从8MP 降至2MP。
在监控器上的最终输出将为2MP、具有完全校正的 FoV。
当然、您可以直接针对2MP 输出重新设计小型 LDC LUT。
似乎还有另一个我们尚未考虑的问题。
我不熟悉单摄像头应用程序的详细信息。
我想为了安装1080p 显示屏、LDC 输出尺寸固定为2MP。
因此、您的8MP LDC 设置将被忽略、仅动态创建 LDC 输出的顶部1080p 部分。
尊敬的 Brijesh 和 Gang:
非常感谢、您认为问题与显示屏和 LDC 输出尺寸不兼容有关。
基本上、当 LDC LUT 设计为输出8MP 时、显示屏只能从左上角显示其中的2MP 部分。
让我感到困惑的不仅是显示的图像、而且是捕获的图像。 所有 YUV 图像的尺寸与仅显示左上部分的显示图像(2MP)完全相同、而原始图像显示8MP 和完整 FOV。
我明白了问题的关键。 再次感谢。
此致、
Berke
尊敬的 Kaan:
所有 YUV 图像的尺寸与显示的图像(2MP)完全相同、仅显示左上角部分、而原始图像显示8MP 和完整 FOV。
单通道应用应捕获 VISS 输入 RAW、VISS 输出 YUV、LDC 输出 YUV 和 MSC 输出 YUV 的图像。
前两个应该是8MP、在您的情况下、其余的应该是2MP。
例如、
尊敬的 Gang 和 Brijesh:
在您的实际应用中、您可能需要 LDC 输出保持在8MP 以获得最佳分辨率。
[报价]正如您所说的、我将 LDC 输出图像尺寸设置为8MP 以获得最佳分辨率、并且我没有遇到问题。
但是、当我将 obj->table_width 和 obj->table_height 更改为3840x2160以便能够更改网格大小时、我会从单个应用程序 cam 获得分段错误。 似乎我在 APP_CREATE_LDC 函数中遇到了以下行中的问题"
if (status == vx_SUCCESS){状态= vxCopyImagePatch (obj->mesh_img、&rect、0、&image_addr、LDC_LUT、vx_WRITE_ONLY、vx_memory_type_host);
}"当我检查这里 LDC_LUT 的大小时、它来自#include "LDC_LUT_1920x1080.h"静态 uint8_t LDC_LUT[]= LDC_LUT_1920_1080;我相信、由于这个不兼容的 LDC_LUT 大小、我们就出现了这个问题。 您建议如何解决该问题以便我们可以使用8MP 映像
尊敬的 Kaan:
但是、当我将 obj->table_width 和 obj->table_height 更改为3840x2160 t
您的新 MESH LUT 的实际大小是多少?
我认为由于这个不兼容的 LDC_LUT 大小、我们遇到了这个问题。
看起来 LDC 输出图像尺寸在单摄像头应用中硬编码为1920x1080。
您可能需要将 app_single_cam_common.h 中的定义更改为您的8MP 输出图像尺寸。
尊敬的 Gang:
您新的 mesh LUT 的实际大小是多少?
它是3840x2160。 请从我们的 LDC xml 查看以下信息。
在单摄像头应用程序中 LDC 输出图像尺寸似乎硬编码为1920x1080。
确切地说、我已经将这些硬编码的值更改为3840x2160。 如果我将其保持为1920x1080、则流水线会正常工作、但 LDC 的输出仍为1920x1080。 当我将这些硬编码的值更改为3840x2160时、流水线会产生如前所述的分段故障。 问题似乎与 我们调用的附加屏幕截图有关 VXCopyImagePatch . 它要么是因为不兼容 LDC_LUT 限制产生的噪声 "LDC_LUT_1920x1080.h" 此标题也在单个应用程序摄像头中硬编码、或与一起编码 DS_FACTOR 也可以在线路中看到 1679 内核配置选项。 当我将 ds_factor 从2更改为3或4时、我们能够运行流水线而不会出现任何问题、但我们需要了解解决此问题的正确方法。
e2e.ti.com/.../LDC_5F00_LUT.zip
谢谢
尊敬的 Kaan:
我们需要了解解决此问题的正确方法。
您的 mesh LUT 和"obj->mesh_img"是否具有匹配大小?
这是 mesh_img 的大小、包括下采样网格。
table_width = (((obj->table_width / (1 << obj->ds_factor)) + 1u) + 15u) & (~15u);
table_height = ((obj->table_height / (1 << obj->ds_factor)) + 1u);
/* Mesh Image */
obj->mesh_img = vxCreateImage(obj->context,table_width, table_height, VX_DF_IMAGE_U32);
头文件中的实际网格 LUT 在大小和下采样方面必须匹配。
尊敬的 Gang:
您的 mesh LUT 和"obj->mesh_img"是否具有匹配大小?
Mesh LUT 您是否是指 LDC XML 中定义的 LDC 网格帧宽度和高度? 如果是、则这些位被设置为3840和2160。
table_width = (((obj->table_width / (1 << obj->ds_factor)) + 1u) + 15u) & (~15u);
table_height = ((obj->table_height / (1 << obj->ds_factor)) + 1u);这是包括下采样网格在内的 mesh_img 的大小。
我想 下采样网格 和 网格表子采样因子 是一回事、它被调用 DS_FACTOR 生成的。
头文件中的实际网格 LUT 必须在大小和下采样方面匹配。
我明白了你的观点,但问题似乎在网格 LUT 来自标题,因为实际的 much LUT 是从标题导入的 "LDC_LUT_1920x1080.h" (在 vision_apps>apps>basic_demos>app_single_cam>LDC_LUT_1920x1080.h 中进行了硬编码、使用后不会发生变化 generate_dcc.sh 工程师。
#include "ldc_lut_1920x1080.h" static uint8_t ldc_lut[] = LDC_LUT_1920_1080;
尊敬的 Kaan:
问题似乎出在网格 LUT 来自标头、因为实际的消息 LUT 是从标头导入的 "LDC_LUT_1920x1080.h" (在 vision_apps>apps>basic_demos>app_single_cam>LDC_LUT_1920x1080.h 中进行了硬编码、使用后不会发生变化 generate_dcc.sh 脚本[/报价]"LDC_LUT_1920x1080.h"是默认的 LUT、但在提供了 DCC 设置的情况下并不实际使用。
[/quote]表述 Mesh LUT 您是指 LDC XML 中定义的 LDC 网格帧宽度和高度吗? [报价]我是指我在上面分享的第一个源代码链接。
用于创建网格图像对象。
尊敬的 Gang:
我指的是我在上面共享的第一个源代码链接。
我已将其设置为3840 x 2160。 我是在您第一次提到它时做的。
但是,我仍然有问题。
我已将其设置为3840 x 2160。 我是在您第一次提到它时做的。
但是,我仍然有问题。
[报价]我想您只需在单摄像头应用中修改这3行、即可匹配 DCC 中的实际 LDC 设置。
#define LDC_TABLE_WIDTH (1920)
#define LDC_TABLE_HEIGHT (1080)
#define LDC_DS_FACTOR (2)
https://git.ti.com/cgit/processor-sdk/vision_apps/tree/apps/basic_demos/app_single_cam/app_single_cam_common.h?h=main#n88
I tried it last week on my EVM and it works well.
尊敬的 Gang:
感谢您的支持。
这里的 ds_factor 表示什么? 您要为其使用什么价值? 我对此很好奇,因为正如我在之前的一个答复中提到的,如果我使用 DS_FACTOR 作为3或4管道正常工作。
[报价 userid="35541" url="~/support/processors-group/processors/f/processors-forum/1455495/tda4vh-q1-8mp-camera-corrupted-display-output-when-ldc-enabled/5617337 #5617337"]#define LDC_DS_FACTOR (2)我之前对 DS_FACTOR 的解释是否正确?
假设是 下采样网格 和 网格表子采样因子 是一回事、它被调用 DS_FACTOR 在代码中。
谢谢!
Berke
尊敬的 Kaan:
[报价用户 id="606816" url="~/support/processors-group/processors/f/processors-forum/1455495/tda4vh-q1-8mp-camera-corrupted-display-output-when-ldc-enabled/5618043 #5618043"]这里的 ds_factor 表示什么? 您要为其使用什么价值? 我对此很好奇,因为正如我在之前的一个答复中提到的,如果我使用 DS_FACTOR 作为3或4管道正常工作。
#define LDC_DS_FACTOR (2)
我之前对 DS_FACTOR 的解释是否正确?
[报价]我想 下采样网格 和 网格表子采样因子 是一回事、它被调用 DS_FACTOR 生成的。
是的、该值适用于网格 LUT 的下采样因子(例如、m=LDC_DS_FACTOR=2表示4x4下采样)。
有关更多详细信息、您可以参考下面的 TRM LDC 部分或 LDC 常见问题解答。
必须对网格表进行下采样以减少 DDR 流量并提高 LDC 性能(没有下采样仅用于调试)。
我们通常使用 m=3 (8x8)或4 (16x16)。
尊敬的 Berke:
对不起,我只是意识到你更喜欢 Berke 而不是 Kaan。
非常感谢。 有关详细信息、我将遵循 TRM。 [报价]这个线程有什么问题为我,我没有能够回复您最近的帖子(必须回复我的旧的).
我们关闭此主题、如果您有任何其他问题、请打开一个新主题。
尊敬的 Gang:
抱歉、我只是意识到您更喜欢 Berke 而不是 Kaan。
没关系。
[报价 userid="35541" url="~/support/processors-group/processors/f/processors-forum/1455495/tda4vh-q1-8mp-camera-corrupted-display-output-when-ldc-enabled/5618880 #5618880"]这个线程有什么问题为我,我没有能够回复您最近的帖子(必须回复我的旧的).
[报价]我面临同样的问题。
感谢您的支持。