I'm trying to have float values in a .tiff file. The values in display are fine, but once on disk, it is unsigned short.
#include<X11/Xlib.h>
#include "CImg.h"
#define cimg_use_tif
using namespace cimg_library;
int main()
{
CImg<float> imgFloat(640, 400);
for(int i=0; i<640; i++)
for(int j=0; j<400; j++)
imgFloat(i,j) = float(i*640+j)/10000;
imgFloat.save_tiff("V_float.tiff"); // cant get anything but unsigned short in the actual output
imgFloat.display();
return(0);
}
You need:
#define cimg_use_tif
before (i.e. above)
#include "CImg.h"
Or actually, preferably define it on the compilation command-line:
g++ -D cimg_use_tif ...