【问题标题】:Convert 14-bit image to 16-bit TIFF using C#使用 C# 将 14 位图像转换为 16 位 TIFF
【发布时间】: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


【解决方案1】:

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

LibTiff .NET

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-18
    • 1970-01-01
    • 2017-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多