我正在尝试编写一个简单的程序,该程序将使用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加载方式,我也欢迎您提出建议。

  ask by TMGunter translate from so

本文未有回复,本站智能推荐:

1回复

如何在Boost :: gil中使用Alpha运河调整png图像的大小

如何在boost :: gil中使用Alpha运河调整png图像的大小?
2回复

在C ++中使用Boost中的GIL在图像中定位图像

我试图弄清楚如何使用Boost库中的GIL在C ++中将图像放置在新创建的图像中。 我想做什么的形象
1回复

提升GIL图像构造函数

我目前正在尝试弄清楚如何使用Boost中包含的通用图像库。 现在,我只想使用该库来存储像素数据,并使用Image IO编写PNG。 我在理解如何设置对象方面遇到了麻烦。 HPP说 但是除了view_t :: point_t到point_t的type_def之外,我找不到对poi
2回复

用gil读取png图像

是否可以使用boost::gil读取RGB图像信息,以便我可以将文件读入正确的rgbx_image_t ? 以下我必须事先知道类型,这不是那么整洁。
2回复

使用boost :: gil从内存中读取JPEG图像

我正在尝试使用boost 1.53中存在的boost::gil从内存中读取图像。 我从互联网上摘录了以下几行: 除了第一行,其余行的类型和功能都不能在boost::gil命名空间中找到,因此我无法测试以上行是否符合我的要求。 您是否知道从哪里获取所需的类型和功能?
1回复

boost :: gil Interleaved_view

我在搞清楚图像库时遇到了一些麻烦。 我找不到关于如何使用boost :: gil库中包含的interleaved_view函数的任何确切文档。 更具体地说,我不确切知道原始数据应该存储在哪种二进制格式中。 我能找到的唯一提到的是在gil教程中: 此外,功能原型说 我
1回复

Boost :: GIL如何将图像保存为JPEG或PNG到char *?

所以我看到样本四处都保存到文件中。 但我想知道是否可以保存到char *或字符串而不是文件 - 所以说保留在内存中?
1回复

如何在x64上使用boost:gil:png_write_view避免此警告

以下代码发出警告: 在64位下使用VS 2010编译时。 它说: 似乎很明显,在apply()中,对png_set_IHDR()的调用应提供png_uint_32,但view.width()似乎是带符号的__int64(可能是ptrdiff_t)。 有人知道我能做些什么吗
4回复

使用Boost.GIL将图像转换为“原始”字节

目标 我正试图转向Boost GIL来取代我已经实现的一些类似功能,这些功能已经达到其可维护生命的终点。 我现有的代码使用uint8_t*处理24 BPP,8位RGB图像。 我不能改变它,因为相同的界面用于暴露来自不同地方的图​​像(例如OpenGL缓冲区),并且已经有相当多的代码
1回复

使用BOOST :: GIL将CYMK图像转换为RGB

我正在尝试使用boost通用图像库将CYMK图像转换为RGB。 以下代码无法编译 有人知道怎么修这个东西吗? 我已将此代码基于教程代码 这是编译器的输出: