无法将OpenCV 16位灰度图像写入/显示到磁盘

时间:2016-06-04 22:04:09

标签: c++ opencv

我有一个2D无符号短阵列,我试图使用OpenCV创建一个16位灰度图像。尝试的代码如下所示。但是当我尝试显示或保存到磁盘时,我得到一个所有像素值为零的黑色图像。

unsigned short Img_2D_array [SIZE_X][SIZE_Y];
for(int vr=1; vr<20; vr++)
    {
        for(int vc=1; vc<16; vc++)
        {
          Img_2D_array[(vr)][(vc)] = (unsigned short)(varPixelValue);
        }
    }
Mat var_mat = Mat(SIZE_X,SIZE_Y,CV_16UC1,&Img_2D_array);
imwrite("testImage.png",var_mat);

注意:编辑了代码

1 个答案:

答案 0 :(得分:0)

代码段没有问题。但我观看图像的观众并不支持16位灰度图像,与代码无关。