如何在阅读隔行扫描PNG时修复libpng警告?

时间:2014-03-02 07:45:29

标签: visual-studio-2010 opencv image-processing windows-7 libpng

我正在使用OpenCV和Visual Studio 2010来阅读和显示一些图像(包括jpg和png)。我的程序工作正常,但有时它失败并出现以下警告:

libpng warning: interlace handling should be turned on when using png_read_image.
OpenCV Error: Insufficient memory (failed to allocate 1398604 bytes) in unknown function, file ..\..\..\src\opencv\modules\core\src\alloc.cpp, line 52

我尝试在互联网上搜索修复但无法获得任何修复。对此问题的任何帮助将不胜感激。

由于

1 个答案:

答案 0 :(得分:1)

number_passes = png_set_interlace_handling(png_ptr);

在调用应用程序的适当位置,

之后
png_get_IHDR();

如果您不想重建调用应用程序, 解决方法是使用ImageMagick的“转换”等应用程序 在尝试使用您的应用程序阅读PNG之前对其进行解交错:

convert in.png -interlace none out.png