都只能保存8位单通道

时间:2022-01-11 06:34:44

这里有一个数组,2个字节为一个像素,要生存为16位灰度图像,我试过了以下要领,均掉败:

    1)c# 中Bitmap类结构一个东西,然后将其生存。其自带的像素格局16位灰度,是不能用的。Format16bppGrayScale, 选择此项进行生存时会堕落没法生存。

     有人说用Format48bppRgb,来生存,,这样r,g,b均为两个字节(16位),可以这样来生存,这样,文件就变大了好多。同时原始数据要进行相应的变革

    我试着用Bitmap类读入一个16位灰度的图像,可以显示。如果用Bitmap类的PixelFormat属性去读取这个图像的格局,会显示为32bppArgb。读取此中的像素颜色,得到的功效是[255,a,a,a],这个和用8位灰度暗示没有区别。暗示,c#读入16位灰度图像后,将其转换成了32bppArgb来措置惩罚惩罚。

 

  2)后来试用了Emgu Cv中的Mat类的Save要领,和Image<TColor, TDepth>类的Save要领,都只能生存8位单通道,或者24位3通道。这是在其函数说明里指明的。

Image<TColor, TDepth>类的Save

Mat类的Save