【发布时间】:2017-06-12 14:34:48
【问题描述】:
现在,我正在使用 CImg。 由于this 问题,我无法使用 OpenCV。
我的 CImg 代码如下所示:
cimg_library::CImg<float> img(512,512);
cimg_forXYC(img,x,y,c) { img(x,y,c) = (array[x][y]); } //array contains all float values between 0/1
img.save(save.c_str()); //taking a lot of time
通过使用时钟,我能够确定第一步,for 循环需要 0-0.01 秒。但是,第二步,保存图片,需要 0.06 秒,由于我的图片数量太长了。
我保存为位图。 有没有更快的方法在 C++ 中完成相同的事情(从值数组创建图像并保存)?
【问题讨论】:
-
在
save.c_str()save是什么? -
@tobi303 它是一个字符串,该值大约为 110 个字符,具体取决于图像。它是 /home/user/folder/longname。
-
保存时文件是什么格式的?你想要什么格式?你的数组里有什么?为什么
float? -
@Omnifarious 文件路径以 .bmp 结尾。只要图像显示良好并且位图效果最佳,我并不真正关心格式。在我的数组中有一堆介于 0 和 1 之间的浮点值。我选择了浮点数,因为这就是我使用的教程所使用的。有更好的选择吗?感谢您的回复!
-
你的图片格式是什么?什么是像素深度?每个元素都是一个像素吗?你的图片可以有小数像素吗?
标签: c++ opencv image-processing bitmap cimg