1

我正在尝试通过在 src 文件夹中运行 sift.c 文件来测试vlfeat计算机视觉库的 sift 检测器。我已成功编译并运行该程序。但是,我得到了错误:输入图像包含格式错误的 PGM 标头。我确定这不是输入图像文件的问题。谁能解释一下。

4

1 回答 1

0

如果文件小于 2 个字节或具有不受支持或无效的幻数,则这对应于VL_ERR_PGM_INV_HEADPGM 解码器发出的错误代码。

请注意 vlfeat 仅支持P2(ASCII) 和P5(binary) 格式。所以你应该检查你的魔法来控制它是否符合这些要求,例如:

$ xxd -c 1 -l 2 foo.pgm
0000000: 50  P
0000001: 35  5

$ xxd -c 1 -l 2 bar.pbm
0000000: 50  P
0000001: 34  4

foo.pgm是有效的(二进制格式的灰度图),但bar.pbmvlfeat(二进制格式的黑白位图)不支持。

于 2015-07-24T07:26:46.373 回答