使用C#将14位图像转换为16位TIFF

时间:2014-04-29 06:48:22

标签: c# image-processing tiff 16-bit 8-bit

我有一个14位图像缓冲区(640 x 512)。 我需要将此图像保存为16位TIFF。

因此,每个像素占用2个字节,我可以像这样转换成灰度(8位):

(buffer[index] | buffer[index + 1] << 8) & 0x3FFF

index例如是像素数。)

据我所知,8位图像我可以使用位图轻松保存为BMP:

bmp.Save("c:\\button.gif", System.Drawing.Imaging.ImageFormat.Bmp);

但我不知道,如何将其转换为16位TIFF。我应该将8位转换为16位,还是将14位转换为16位?怎么样?

有人告诉我,我必须形成一些TIFF标题并将图像数据添加到此标题中。这是真的吗?这有什么例子吗?或者一些库来自动化这个过程。

1 个答案:

答案 0 :(得分:0)

您可以使用LibTiff .NET以TIFF格式保存图像:

LibTiff .NET

将14到16位转换为每个像素(2个字节)乘以4。