我通过采集得到了一个图像灰度值的.dat数据文件,数据格式是十进制的,我已经读取了这个二位数组(列1536,行900),现在不知道怎么保存成图像格式,请教大家该怎么处理啊?还有我的灰度值范围是0-1000多,我想转行成256的灰度值,该怎么弄啊?

解决方案 »

  1.   

    做个归一化处理,找到图像数据的最大值MaxVal,然后将图像数据X做如下变化
    X=(X*255 + MAxVa - 1)/MaxVal;
    不过最好做个直方图检测,不要找到的最大值是噪点
      

  2.   

    X = (X*255 + MAxVal - 1)/MaxVal;
      

  3.   

    1、把你的二维数组直接按照行读取,存到一维数组array[]中
    2、array归一化到[0, 255],存为BYTE型一维数组img[]
    3、把一维数组img以二进制的方式fwrite()写到文件中,文件名可以是 "xxx.raw".  用photoshop可以打开"xxx.raw"
      

  4.   

    谢谢各位。问题已经解决了,我用OpenCV 把数据读进来显示图像了。不过换成0-255后像素的灰度值会有一定误差。