论坛底层软件gdc去畸变问题

gdc去畸变问题

已解决
默认821442026-07-27
173
29

使用j6p板子,官方的demo改了一下配置。目前使用gdc + ros2编译demo, 运行时用的cfg是改了对应的分辨率和内参之后生成的gdc文件和参考点文件,custom模式。如果使用对应的参考点文件会导致驱动卡住,4秒产出一帧,如果不考虑custom使用affine(即不用参考点文件)则是正常的稳定30帧。想请教一下目前还是用convert tool进行去畸参数的处理么?之前听说已经不再维护了,是否有新方法进行去畸参数的处理呢?

底层软件
技术深度解析征程6
评论2
0/600
  • 新手村
    Lv.4
    1. 4秒产生一帧是因为run gdc接口调用超时失败,非正常处理帧,需要提供dmesg日志才能看具体错误类型;

    2. 依旧可以沿用convert tool,gdc没有新的功能更新,因此convert tool没有任何更新
    2026-07-28
    0
    0
  • 费小财
    Lv.5

    可以通过opencv生成remap表,生成remap表后前4行填:

    0

    50 50

    remap表的高 remap表的宽

    remap高的中点 remap表宽的中点

    (remap表)

    如果生成后的gdcbin导致了卡顿,大概率是配置有问题,具体需要结合logcat和dmesg的log分析

    2026-07-28
    0
    27
    • 默认82144回复费小财:

      感谢,用remap跑通了,但是生成的有像素黑点,是gdc的正常情况么?前三张是去畸变+resize后通过ros订阅的图片,后三张是demo中生成的图

      2026-07-29
      0
    • 费小财回复默认82144:

      黑点的话,重点看下是不是没有非法的cache打印

      2026-07-30
      0
    • zsy回复默认82144:
      ”黑点“ 如果是在图像边界处,可以看看是不是gdc坐标点超范围了,是否存在负坐标;
      如果是图像中间存在可以尝试排除cache的原因,dump图之前做个hb_mem_invalidate_buf_with_vaddr
      2026-07-30
      0
    • 默认82144回复zsy:

      您好,目前在hb_vio_run_gdc之后直接对两个地址进行invalidate buf, 但仍然有部分少量黑点存在于图像中间,精度也调整过了但也不奏效。请问还有什么排查思路么

      2026-07-30
      0
    • zsy回复默认82144:

      相同配置文件下 多次运行黑点位置是否发生变化,如果不发生变化,则可能跟cache没关系;优先排查map表

      2026-07-30
      0
    • 默认82144回复zsy:

      黑点发生变化 但是使用cache相关的两个函数都无法解决

      2026-07-30
      0
    • zsy回复默认82144:

      发下示例代码;如果是回灌,检查下是否对写入输入数据做了flush

      2026-07-30
      0
    • 默认82144回复zsy:

      PYM DMA 写 → flush(src) → GDC DMA 读 → GDC 处理 → GDC DMA 写

      CPU 读 ← invalidate(dst) ←──────────────┘ (×2: grabImageByPym + ConvertRgb) 大致结构是这样

      2026-07-30
      0
    • 默认82144回复默认82144:

      会有少量的像素黑点,不放大看不出来的

      2026-07-30
      0
    • 默认82144回复默认82144:
      2026-08-03
      0
    • 默认82144回复默认82144:
      目前使用gdc去畸变时,无论是用custom模式的参考点(参考点目前使用opencv脚本生成)还是affine,都会有小部分黑点生成在图像中央附近,且每次黑像素点位置会变化,请问是什么原因呢? 放大之后去畸变图中存在小像素点,比如
      2026-08-03
      0
    • zsy回复默认82144:

      这个图看着基本可以排除是cache的问题了

      2026-08-03
      0
    • zsy回复默认82144:

      是否确定gdc bin没有重新生成吗?

      2026-08-03
      0
    • 默认65344回复默认82144:

      把txt的第一行的0改为1看看

      2026-08-03
      0
    • 默认65344回复默认82144:

      把txt的第一行的0改为1看看

      2026-08-03
      0
    • 默认82144回复默认65344:

      这个修改过后问题没有改善

      2026-08-04
      0
    • 默认82144回复zsy:

      请问需要去让gdc bin不重新生成么,我这块应该是根据gdc_sample写的,每次根据我给出的txt文件每个相机生成对应的gdc bin 文件

      2026-08-04
      0
    • 默认65344回复默认82144:

      输入给gdc的图片有没有黑点,这个能确认吗。确认一下是gdc处理之后才有的黑点还是说输入图片本身就有黑点

      2026-08-04
      0
    • zsy回复默认82144:

      排除下sensor原因

      2026-08-04
      0
    • zsy回复默认82144:

      如果是sensor的问题,可以场景调整效果库中坏点矫正模块CALIBRATION_DP_xxx参数

      2026-08-04
      0
    • 默认82144回复zsy:

      sensor原图落盘是没有黑点的,上方的最后三张未去畸变的图片就是sensor出的

      2026-08-04
      0
    • zsy回复默认82144:

      所以同一个txt和输入图黑点的位置是固定的吧,如果是为了畸变矫正使用参考对外文档中《GDC GUI工具使用指南》或者convert_tool生成gdc bin试试呢

      2026-08-04
      0
    • 沃德菲回复默认82144:

      你的gdc bin的版本是什么时候的?

      2026-08-04
      0
    • 默认82144回复沃德菲:

      参考gdc_sample中的代码,直接根据remap文件生成的

      2026-08-04
      0
    • 默认82144回复zsy:

      黑点位置不是固定的

      2026-08-04
      0
    • zsy回复默认82144:

      你这个信息确定吗?原理上txt固定 图片固定 不太可能出现输出结果不定。。。即使有坐标点超过输入图像范围访问内存越界导致读到了不确定的值也不至于每次都不一样,一般也是连续执行多次的输出结果一样;建议按照对外手册生成gdc bin

      2026-08-04
      0
    • 沃德菲回复默认82144:

      那应该没什么问题,sample中是可用的。

      2026-08-04
      0