前言:本篇博客对libpng库进行介绍,并记录使用libpng库时遇到的一些警告信息及相应的解决方案。
📝介绍:Libpng 是一个广泛使用的Portable Network Graphics (PNG) 图像格式的支持库。这个开源项目托管在 GitHub,由Glenn Randers-Pehrson维护。它主要用 C 语言编写,提供了一套API来读取、写入和操作PNG图像文件。Libpng是许多图形应用和Web服务的基础组件,支持PNG规范的最新版本,并依赖于ZLIB压缩库。
⚠️警告产生原因:该库版本升级到1.6后,libpng对png图片内嵌的ICC配置文件检查更加严格。由于OpenCV保存PNG图像底层调用的就是libpng库,因此,如果使用的png图片不标准,有可能会出现相应的警告。不过这些警告不会对计算结果产生影响。
以下是本人在使用测试数据运行Zerofake论文中的sim.py
文件时,遇到的一些相关的警告信息:
1. libpng warning: iCCP: known incorrect sRGB profile
可以参考解决方法,使用skimage
库读取并重新保存图像。
2. libpng warning: iCCP: profile ‘ICC Profile’: ‘GRAY’: Gray color space not permitted on RGB PNG
3. libpng warning: iCCP: profile ‘ICC Profile’: 1000000h: invalid rendering intent
解决方案参考:https://forums.developer.nvidia.com/t/error-while-training-on-coco-dataset/215355/6
4. libpng warning: iCCP: profile ‘ICC Profile’: ‘bTRC’: ICC profile tag start not a multiple of 4
解决方案参考:https://forums.developer.nvidia.com/t/error-while-training-on-coco-dataset/215355/6
5. libpng warning: iCCP: profile ‘ICC Profile’: 0h: PCS illuminant is not D50
解决方案参考:https://sourceforge.net/p/libpng/bugs/256/ & https://github.com/pnggroup/libpng/issues/207
个人认为,这些警告不会影响计算结果,所以如果非必要可以不做处理。
参考资料