c++ - 使用 C++ 和 Cimg 库将 RGB 图像转换为矩阵

标签 c++ rgb cimg

我有一个盲源分离项目,我需要使用 Cimg 在矩阵中表示 RGB 图像。但我实际上无法理解如何使用 Cimg..我已经浏览了文档

但是功能太多,我不知道该用哪一个!真的太多了。我从未使用过 Cimg,所以如果有人可以向我解释我的程序应该是什么,请执行! 我正在使用 C++ 进行编程并使用 eclipse。 谢谢!

最佳答案

首先定义您的图像:

CImg<float> img(320,200,1,3);  // Define a 320x200 color image (3 channels).

然后用您的数据填充它:

cimg_forXYC(img,x,y,c) {  // Do 3 nested loops
   img(x,y,c) = pixel_value_at(x,y,c); 
}

然后你就可以用它做你想做的一切。

img.display("Display my image");

c==0时,您将填充图像的红色 channel ,当c==1时,将填充绿色 channel ,当c== 2 蓝色的。没什么很难的。

我已经尝试了很 multimap 像处理库,CImg 可能是最容易使用的之一。查看提供的示例文件(文件夹 CImg/examples/),了解整个过程是如何工作的(特别是 CImg/examples/tutorial.cpp)。

关于c++ - 使用 C++ 和 Cimg 库将 RGB 图像转换为矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14914709/

相关文章:

c++ - CImg 错误 : 'gm.exe' is not recognized as an internal or external command,

C++ vector 初始化

c++ - 错误 C2504 : 'BASECLASS' : base class undefined

c++ - 将 std::map 复制/插入到 boost::bimap

matrix - 如何用rgb图像绘制矩阵?

C: conio 颜色转十六进制代码/RGB

c++ - CImg 的编译错误

c++ - 比较算法的执行时间 : why does the order of execution matter?

.net - 如何使用 Image Magick 以相同的方式使用 Magick.net 设置配置文件?

c++ - 从透视图到正交图