问题标签 [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.
c++ - boost::gil 是否支持 10 位图像?
我正在尝试从缓冲区中读取 10 位图像并使用 boost::gil 对其进行分析。我注意到存在 rgb8_image_t 类型, gray8_image_t 类型,但找不到 gray10_image_t 类型(这是我需要的)。这在gil中存在吗?谢谢!
编辑:使用这些类型定义时:
编译时出现以下错误:
有谁知道如何解决这些问题?谢谢。
c++ - 如何使用 GIL 迭代器设置像素
尝试学习一点 C++,我对此很陌生。我的学习项目是使用各种算法(如分形)生成图像。我正在查看 boost GIL 库,因为 boost 似乎是最常见和最成熟的 C++ 库。所以,我试图在内存中创建一个图像,迭代像素并根据一些公式设置 RGB 值。我当前的代码看起来像这样
迭代似乎有效,但我似乎无法从 GIL 文档中弄清楚如何在这个循环中实际设置像素。我可以做一个嵌套的 for 循环,只使用 x 和 y 坐标设置像素,但我有点想使用迭代器,因为它看起来更整洁,也许我以后可以重构它以使用 transform()。我该如何从这里开始?如何将像素设置为某个 RGB 值?
c++ - C++ - 加载图像的 Base64 编码字符串以提升 GIL 图像/视图
我正在使用 Boosts 通用图像库。我得到了一个图像的字符串表示。解码后,我可以直接用该数据制作一个 Image 或 View 对象吗?还是我需要将数据作为 example.png 写入计算机并使用 GIL 的 read_image 函数?文档提到了动态图像,但仍将文件名作为 i/o 函数的参数。
理想情况下,我会寻找一个将字符串或字节数组作为参数而不是从磁盘加载的图像名称的函数。像 GDI+ FromStream 之类的东西。我看到文档说“所有函数都将文件名或设备作为第一个参数。设备可以是 FILE*、std::ifstream 和 TIFF*。” 也许可以编辑 ifstream 的内容以获得图像数据,但不确定这是否真的可行。
c++ - C++ - 是否可以在 ifstream 中编辑数据?
我正在尝试使用 Boost-GIL 加载图像。read_image 函数将 ifstream 作为参数,但我已经将图像作为 base64 编码字符串。我是否可以手动将解码后的图像添加到 ifstream 中,这样我就不必从磁盘写入和读取来将图像加载到 GIL 中?另一种可能性可能是以某种方式使用字符串流来添加数据并将其转换为 ifstream,尽管我没有运气尝试过。
boost - 如何使用 Boost::GIL 从 python 字节字符串中读取图像信息?
我编写了一个从文件头读取图像宽度和高度的函数
而且我不知道如何从 python 字节中读取图像信息 从 Blender API 获取的图像数据,它与图像文件中的写入相同。
c++ - Boost GIL write_view 抛出 LNK2019 错误
我想学习如何使用 Boost GIL 加载、写入、... *.png 图像。
(我的编程环境是VS 2019)
问题是 GIL 在保存/加载文件方面存在问题。
它引发了许多LNK2019 错误。
我的代码是:
这是错误之一(此处的所有错误):
c++ - 将 GIL image_view 直接转换为 OpenCV Mat
我从模拟器中以 a 的形式获取图像流,gil::image_view
需要将它们转换为以cv::Mat
进行进一步处理。到目前为止,我或多或少地从这个答案中复制了代码,但并没有真正理解它:
我确定没有使用alpha通道,所以我还可以定义另一个image_view:
对于这种情况,使用复制像素boost::gil::copy_pixels(...)
是有意义的,因为无法在恒定时间内将交错的 rgba8 转换为 rgb8。
鉴于应用程序的性质,我很确定图像已经在内存中的某个地方。因此,从技术上讲,我可以只使用指向第一个元素的指针来创建我的 OpenCV 图像,而代价是使用额外的通道。