我有一个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);
注意:编辑了代码
答案 0 :(得分:0)
代码段没有问题。但我观看图像的观众并不支持16位灰度图像,与代码无关。