【发布时间】:2014-04-29 06:48:22
【问题描述】:
我有一个 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 标头并将图像数据添加到此标头。这是真的吗?有这方面的例子吗?或者一些库来自动化这个过程。
【问题讨论】:
-
您可以使用 LibTiff .NET 以 TIFF 格式保存图像:bitmiracle.com/libtiff 将 14 位转换为 16 位,将每个像素(2 个字节)乘以 4。
-
@AlexFarber,谢谢!为什么你发表评论而不是答案?
标签: c# image-processing tiff 16-bit 8-bit