问题标签 [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 投票
2 回答
422 浏览

c++ - boost::gil 指向 bgr8_view_t 对象的指针

我想写一个在 BGR 中转换 BGRA 的函数。 void convertBGRAViewtoBGRView( const boost::gil::bgra8_view_t &src, boost::gil::bgr8_view_t dst ) 如果我这样写:

它有效,但速度很慢。所以我想使用 NEON 指令,因此我需要一个指针,例如 (UInt8*) 或 (UInt32*)。我试过这样:

这或多或少有效,但生成的图像不正确。我认为可能是对齐问题。有谁知道如何让它工作?此解决方案比使用迭代器的解决方案快约 3 倍。

更新:我用调试器检查过:src 的宽度为 480x360,直到 i == 259 一切都是正确的,但之后迭代器和指针的解决方案是不同的。

谢谢。

0 投票
2 回答
235 浏览

c++ - 覆盖专用模板

我一直在使用 Boost.GIL 来执行一些基本的图像处理程序。在 Boost.GIL 中,不同类型像素之间的色彩空间转换是通过一个泛型convert_pixel( )函数的模板特化来实现的。但是,例如,我很想用基于 LCMS 的东西来覆盖这些实现。

有没有办法覆盖模板的专业化,以便任何内部调用都convert_pixel()将使用新的基于 LCMS 的convert_pixel()

最终回答

深入研究 GIL 设计手册(比教程更有趣),我发现 Adob​​e 建议如何解决这个问题。对于我们感兴趣的人,此链接提供了答案: http: //www.boost.org/doc/libs/1_49_0/libs/gil/doc/html/gildesignguide.html#NewColorConversionDG

0 投票
0 回答
159 浏览

boost-gil - 使用 boost::gil,我如何获得 gray8 未签名图像或视图的 gray8s 视图

使用 boost::gil 如何创建适用于 gray8 图像或视图并提供 gray8s 视图的视图?

我的期望:

  • 对于这两种情况,我希望视图中的每个像素值都等于源图像中相应的像素值减去 128

    /li>
  • 对于这两种情况,我希望视图中的每个像素值都等于源图像中的相应像素值(即,没有效果,身份映射)

    /li>
0 投票
1 回答
2233 浏览

boost-gil - 如何使用 boost::gil 加载任何典型的 png 文件

我已经配置了我的环境,以便可以将适当制作的 .png 文件加载到如下定义的图像中:

但是如何加载任何典型类型的 png 文件(例如由 GIMP 或 MS Paint 生成)。我认为它需要 boost::gil::any_image 但我不知道我需要配置它的类型。

我试过了:

但这不会加载由 MS Paint 或 GIMP 创建的文件。

0 投票
1 回答
1576 浏览

image - Boost.GIL 从 istream 加载图像


我正在尝试将图像从 std::istream 加载到 Boost.GIL 图像上。我在网上搜索过,但还没有找到好的解决方案。
任何帮助将不胜感激。
非常感谢

0 投票
2 回答
2074 浏览

c++ - 在 boost::gil 中读取图像并访问字节

是否有可能:

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

有可能boost::gil吗?也许有一个不同的库更适合这样的任务?

示例代码将不胜感激。

0 投票
1 回答
1196 浏览

c++ - 加载位图文件 (.bmp)

我注意到 boost::gil::extension::io 只支持 png 或 jpeg 文件。虽然这通常足够了,但我想知道如何将位图 (*.bmp) 文件加载到图像中?这实际上不应该比 jpeg 等更容易吗?

0 投票
2 回答
1617 浏览

c++ - 用 boost::gil 画线?

我需要在(屏幕外)图像上绘制一些线条。我想使用 boost::gil 因为该库已经集成到我的项目中。

我想在 2dim 数组中从起点到终点画一条线

谁能给我一个快速的例子,如何使用 gil 画一条线?

谢谢你。

0 投票
4 回答
858 浏览

c++ - 设计需要暂存空间的算法

C++ 标准库将数据结构与算法分开,例如std::sort

当算法需要中间暂存空间时,我想保持算法和数据结构的分离。

考虑到这个目标,我想实现一种图像算法,该算法需要输入和输出图像之间的中间暂存空间。可以在函数调用中分配必要的暂存空间,但是由于这些调用的大小和频率相同,图像大小相同,这会严重降低性能。这使得将数据结构与算法分离变得更加困难。

实现此目的的一种可能方法如下:

以上是一种有效的算法+暂存空间设计,还是有更好的方法?

旁注:我正在使用boost::gil

0 投票
0 回答
1801 浏览

c++ - 使用 Boost + libpng 读取 PNG 图像

我正在尝试编写一个简单的程序,该程序将使用 Boost 的 GIL Image I/O 库读取灰度 PNG 图像,然后获取每个像素的信息。我已经下载并提取了 libpng 和 zlib,将它们包含在我的 makefile 中,并链接了它们。

尝试执行以下代码时:

“测试”打印语句都不起作用。事实上,什么也没有发生。我注释掉了这一行:

它再次运行良好。我不确定我做错了什么,因为似乎我已经正确地包含并链接了所有内容。

此外,如果有人知道加载 PNG 的更简单/更好的方法,我也愿意提供建议。