使用 CImg 对灰度图像进行颜色映射时遇到问题

Having issues using CImg to colormap a grey-scale Image

我在一个项目中使用 CImg 处理一些不同的事情,并且有一个灰度图像,我需要应用 jet_LUT256 颜色映射。我不确定我是否走在正确的道路上。任何指导将不胜感激。

#include "CImg.h"

using namespace std;
using namespace cimg_library;

int main()
{
    CImg<uint8_t> image("test.jpg");

    // Color mapping using: jet_LUT256

    image.map(jet_LUT256());

    CImgDisplay main_disp(image, "Thank you!");
    while (!main_disp.is_closed())
    {
        main_disp.wait();
    }

    return 0;
}

我认为它需要看起来更像这样:

#include "CImg.h"

using namespace std;
using namespace cimg_library;

int main()
{
    CImg<unsigned char> image("test.jpg");

    // Color mapping using: jet_LUT256

    image.map(CImg<>::jet_LUT256());

    CImgDisplay main_disp(image, "Thank you!");
    while (!main_disp.is_closed())
    {
        main_disp.wait();
    }

    return 0;
}

如果你像这样使用 ImageMagick 制作灰色渐变:

convert -size 256x256 gradient: test.jpg

和运行你得到的程序: