libpng error: IDAT: invalid distance too far back解决方案

版权声明:如果喜欢的话,请点击一波关注把,谢谢你,么么哒!转载留名即可 ^_^ https://blog.csdn.net/qq_33375598/article/details/89182785

1,原因

在进行行人检测的实验复现时,在读入pos数据时,显示了libpng error: IDAT: invalid distance too far back错误,

在网上查询了很多资料,得知原因是libpng故意破坏了他们过去破坏输出的向后兼容性,也就libpng的版本兼容问题。

2,解决方案

使用pngcrush修复图像,pngcrush可以在命令端直接下载,如mac是 brew install pngcrush;

安装好后,

1,首先把带有正样本文件名的txt复制到pos文件中,

2,在pos文件夹中,新建一个trueimg文件夹,

3,然后进入pos文件夹中,在此文件夹中打开命令端窗口,输入

cat arg.txt|xargs -I {} pngcrush -fix {} trueimg/{}

这句命令的意思把arg.txt的内容带入到pngcrush - fix {} trueimg/{} 中实现,

⚠️:{}为arg.txt文件中的内容,

⚠️:pngcrush - fix 为修复图片。

已经修复好的图片下载地址:希望各位看官喜欢

链接:https://pan.baidu.com/s/1tjsHz1sdSV914a-0Fhphbw  密码:el72

libpng不兼容的图片,已经经过修复

展开阅读全文

没有更多推荐了,返回首页