vlsift的运行时错误:输入图像包含格式错误的PGM标头

时间:2015-07-23 13:21:58

标签: sift vlfeat

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

1 个答案:

答案 0 :(得分:0)

这对应于VL_ERR_PGM_INV_HEAD错误代码,如果文件为less than 2 bytesnot supported or invalid magic number,则由PGM解码器发出。

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

$ 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有效(二进制格式的灰色地图),但vlfeat不支持bar.pbm(二进制格式的黑色和白色位图)。