问题标签 [boost-gil]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
660 浏览

c++ - BOOST::Gil 用于图像处理

可以:

将仅由文件名(不知道图像格式)给出的图像读取为 2d 矩阵 rgb 未压缩形式(例如,将 JPG 读取到 2d 数组)访问该图像的字节,复制它们,更改它们......(例如反向颜色,我需要一个指向图像字节的指针,setter/getter 不会做)

我用这些来加载图像。现在我如何访问该图像的像素或字节?

0 投票
1 回答
295 浏览

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

以下代码发出警告:

在 64 位下使用 VS 2010 编译时。它说:

似乎很明显,在 apply() 中对 png_set_IHDR() 的调用应该给出 png_uint_32,但 view.width() 似乎是有符号的 __int64(可能是 ptrdiff_t)。

有人知道我能做些什么吗?我猜 boost:gil 应该在 64 位下工作。

我使用升压 1_50。

0 投票
2 回答
691 浏览

c++ - 无法使用 Boost GIL 检测图像文件类型(未捕获异常)

我需要测试文件是 JPEG 还是 PNG,我不能相信文件扩展名,因为它可能是错误的。为此,我决定使用 GIL。

这是声明(和定义)的头文件boost::gil::png_read_dimensions。它明确指出boost::gil::png_read_dimensions “如果位置与有效的 PNG 文件不对应,则抛出 std::ios_base::failure”。事实上,这似乎与函数的实际行为相当。

问题在于boost::gil::jpeg_read_dimensions你可以在这里看到。它还明确指出“如果位置不对应于有效的 JPEG 文件,则抛出 std::ios_base::failure”。然而,情况似乎并非如此!不会抛出异常,而是libjpeg打印到 stdout 或 stderr 然后退出程序。

请参阅以下代码:

程序输出:

请注意如何打印what: ... yadiyadiyada ...Done.不打印。

我尝试做} catch(...) {而不是} catch(const ios_base::failure &ib_f) {确保没有异常通过但没有成功。不会抛出异常!

我在这里错过了一些非常明显的东西......?难道我做错了什么?有解决方法吗?

0 投票
0 回答
186 浏览

c++ - Boost (1.57) GIL 在 channel_algorithm.hpp 中给出编译错误“非类型模板参数评估为 -1”

我们在项目中使用 Boost 1.57。我们现在对使用 GIL 编写图像文件感兴趣。

To在翻译单元中使用 Clang [ Apple LLVM 版本 5.1 (clang-503.0.40) (基于 LLVM 3.4svn) ]#include <boost/gil/gil_all.hpp>引发以下错误。

  • 同样令人惊讶的是,通过在网络上搜索此错误,它似乎应该在某些版本之前通过票 7970修复。
  • 另外,被指控的定义似乎仍然存在于主人身上。

有谁知道这个状态?

0 投票
1 回答
892 浏览

c++ - 如何在 boost::gil 中使用 alpha 通道调整 png 图像的大小

如何在 boost::gil 中使用 alpha 通道调整 png 图像的大小?

0 投票
1 回答
752 浏览

c++ - 从 glReadPixels 的结果中保存 png

从之前的问题12,我有以下代码:

截屏方法:

以及如何在 PNG 中存储:

我想将捕获的屏幕保存到png文件中。现在,问题是如何将这些代码级联起来?这些数组可以相互转换吗?

0 投票
2 回答
459 浏览

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

我试图弄清楚如何使用 Boost 库中的 GIL 在 C++ 中新创建的图像中定位图像。

我想做什么的图片

0 投票
1 回答
514 浏览

c++ - 如何将图像与 boost gil 结合起来?

我刚刚熟悉 Boost GIL(以及一般的图像处理)并怀疑这很简单,但我还没有找到相关文档。

我有一组图像视图,我想将它们与任意函数结合使用。为简单起见,假设图像是对齐的(相同的大小和定位器类型),我只想将像素值相加。一种方法是从 zip_iterator 和 transform_iterator 创建组合迭代器,但我猜测有一些图像处理算法可以方便地为此目的抽象。

文档中的Mandelbrot 示例可能是相关的,因为它从函数计算像素值,但我迷失在细节中,并且无法适应我的情况。

0 投票
1 回答
261 浏览

c++ - boost::gil::resize_view 在创建迭代器时出现段错误

当我尝试调整图像视图的大小时,我遇到了一些与使用 boost::gil 库相关的问题。我想在调整大小后访问图像视图的像素内容。但是,这样做时我总是会遇到分段错误。这是我的代码:

你能告诉我我的问题是什么吗?如果我删除 resize_view 函数并直接从 rgb_image 创建视图,它会完美运行。

0 投票
2 回答
1020 浏览

c++ - Boost gil 读取图像错误

我想编写一个简单的程序来读取和编辑带有 boost::gil 的图像。读取图像功能总是发生错误。我继续在 boost 网站上找到的教程。

错误很长,不知道哪里出错了。似乎将不受支持的图像类型传递给图像模板,但无论参数如何,它都会显示 - 我也尝试传递一种类型。

我也是自己编写 CMakeLists.txt 的新手,所以我包含了这些文件。主文件夹中的 CMakeLists:

src 文件夹中的 CMakeLists.txt:

使用 read_and_convert_image 会产生其他错误...

编辑:

在 src 目录中安装了 libjpeg、CMakeLists:

cmake 命令:

制作后:

jpeg 仍然有问题,但包括扩展名/io 中的所有三个文件都不起作用:(