如何创建 LDC 网格 LUT 来纠正 TDA2P/TDA3 的镜头失真?
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.
答:
TDA2P/TDA3 TRM 中提供了 LDC 网格表的说明。
LDC 网格 LUT 包括 2 列 16 位带符号整数 (S16Q3)。第一列表示输出像素的水平偏移,第二列表示垂直偏移。偏移相对于从 0 开始的输出像素位置,精度为 1/8 像素。该表通常按 8x8 (m=3) 或 16x16 (m=4) 进行下采样。
要创建您自己的表,首先需要定义几何映射。映射是每个输出像素从位置 (h_p, v_p) 到其在输入图像中的位置 (h_d, v_d)。该表采用 S16Q3 整数格式 (h_d - h_p, v_d - v_p)。
下面是一些示例 matlab/octave 代码,用于从鱼眼镜头规格文件创建一个表格(包含两列的文本文件:第一列是以度为单位的视角,第二列是以毫米为单位的图像高度)。此示例涉及表格下采样和 S16Q3 整数格式。您需要调用“gen_lut( )”函数,包含镜头规格文件名、传感器像素间距(单位:mm)、焦距(单位:mm)、输入图像宽度 (W) 和高度 (H)、输入图像中心(hc 和 vc)、比例因数 (s) 和表下采样因数 (m)。输出为文本文件“mesh.txt”。
获得上述表格后,您可以在 DCC ISP 调优工具中试用(该工具还可以为 LDC 输出块大小和块填充提供合适的参数)。如果该表在调优工具中按预期工作,您可以使用 VISION SDK 中的“apps/tools/LDC_mesh_table_convert/convert.sh”将该表转换为 VISION SDK 二进制文件或头文件格式。