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

时间:2017-07-31 16:56:49

标签: c++ image c++11 image-processing cimg

我在项目中使用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;
}

1 个答案:

答案 0 :(得分: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

enter image description here

然后运行你得到的程序:

enter image description here