【问题标题】:downscale large 1 bit tiff to 8 bit grayscale / 24 bit将大 1 位 tiff 缩小到 8 位灰度/24 位
【发布时间】:2010-06-05 06:00:05
【问题描述】:

假设我有一个 100000x100000 1 位(K 通道)tiff,dpi 为 2000,我想将其缩小到 200 dpi。我得到的图像将是 10000x10000 图像。这是否意味着 1 位图像中的每 10 位对应于新图像中的 1 个像素?顺便说一句,我正在使用 libtiff 并使用 tiffreadscanline 读取 1 位 tiff。谢谢!

【问题讨论】:

    标签: tiff libtiff


    【解决方案1】:

    这意味着 1 位图像中的每 100 位对应于新图像中的 1 个像素。您需要对 10x10 1bit 像素区域的值进行平均。为了获得更平滑的灰度,您最好对 n 位进行平均,其中 n 是目标像素的位深度,部分覆盖计算区域与相邻区域(相隔 16x16px 的正方形 10x10px ,因此它们的边框会重叠,以获得平滑的 8 位灰度。)

    【讨论】:

    • 请记住,除了下采样之外,这还会使图像模糊。
    • 使用 1.3px 模糊半径,效果可能会增加(主观)质量而不是降低它,我发现通过简单的查找从 100 到 256 灰度级在渐变区域看起来真的很难看图片。
    • 我刚刚尝试了自己的实验,使用 5x5 和 7x7 平均模糊,然后进行 5:1 下采样。具有 7x7 模糊的那个比另一个要好得多。我不确定我是否会根据目标的位深度来确定这个因素。
    【解决方案2】:

    了解您为什么要缩小尺寸很重要(因为输出介质或文件大小?)。正如 SF 所指出的,颜色/灰度在某种程度上可以与分辨率互换。如果只是关于文件大小无损/有损压缩也值得一看..

    另一件事是了解源图像的一些特征。例如,如果源图像被光栅化(如报纸图像),您可能会得到不正确的图案,因为点阵被弄乱了。我曾经尝试恢复一张旧的报纸图像,我发现它的工作量很大。我最终在增强图像之前先将其转换为灰度。

    我建议尝试一下VIPS 或 Irfanview 以找到最佳结果(即某种重采样算法对您的图像质量有什么影响)。这些程序(即 Photoshop)的原因是您可以在了解其背后算法的名称/参数的同时尝试 GUI/命令行。使用 VIPS,您可以控制大部分(如果不是全部)参数。

    [编辑] TiffDump(随 LibTiff 二进制文件提供)是一个有价值的信息来源。它会告诉你字节顺序等。我所做的是从一个已知的图像开始。例如,LibTIFF.NET 带有许多测试图像,包括黑白(一些 0=黑色,一些 1=黑色)。 [/编辑]

    【讨论】:

    • 实际上我现在的问题是解释 1 位图像中的位。假设我有 200x144 pix 1 位图像,我只想将其转换为 200x144 pix 8 位图像,而我的映射会1 位的 0 是 255(灰色),1 位的 1 是 0(灰色)。在 1 位图像 tiffreadscanline 上,我得到以下位:0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,0x00,0x00,0x00, 0x00,0x00,0x00 我只得到 25 位,但 1 位图像的宽度是 200。所以我希望扫描线大小也为 200。如果我将 25 乘以 8,我会得到 200,但在哪里我得到数据?谢谢。
    • 您得到 25 个字节,每个 8 位,总共 200 位 = 像素。通过将深度增加到 8 位,您将在结果图像的一个字节中浪费 7 位。您可以(使用位移位、掩码和逻辑运算符)从字节中提取单个位。
    • 我同意顺丰的观点。请在我的帖子中查看我的Edit
    • 嗨,谢谢!我设法通过在每个字节中使用 & 运算符 (2, 4, 8, 16, 32, 64, 128) 来提取这些位。所以现在我可以将 1 位转换为非 1 位格式。现在我正在缩小 1 位 tiff (100,000 X 80,000) @ 2400 DPI。我想将其缩小为 200 DPI 非 1 位格式的唯一原因是能够使用 C# GDI+ 读取图像。
    • 使用 libtiff 派生... GDI+ TIFF 处理在 Windows XP 中非常糟糕。 Windows 7 似乎做得更好。在 C#.NET 中,您会在 XP 上看到一个神秘错误,而 Windows7 调用将按预期工作。
    猜你喜欢
    • 1970-01-01
    • 2013-01-06
    • 2011-09-19
    • 2011-01-01
    • 2015-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多