我正在尝试编写一个简单的程序,使用Boost的GIL图像I / O库读取灰度PNG图像,然后获取每个像素的信息。我已经下载并解压缩了libpng和zlib,将它们包含在我的makefile中,并将它们链接起来。
尝试执行以下代码时:
#include <boost/gil/gil_all.hpp>
#include <boost/gil/extension/io/png_dynamic_io.hpp>
#include <iostream>
int main()
{
using std::cout;
using std::endl;
boost::gil::gray16_image_t image;
cout << "TEST";
boost::gil::png_read_and_convert_image("png16_example.png", image);
cout << "test";
return 0;
}
两个“测试”打印语句都不起作用。事实上,一切都没有发生。我评论了这一行:
boost::gil::png_read_and_convert_image("png16_example.png", image);
它再次运行良好。我不确定我做错了什么,因为看起来我已经包含并正确地链接了一切。
此外,如果有人知道加载PNG的更简单/更好的方式,我也愿意接受建议。