【发布时间】:2010-06-05 06:00:05
【问题描述】:
假设我有一个 100000x100000 1 位(K 通道)tiff,dpi 为 2000,我想将其缩小到 200 dpi。我得到的图像将是 10000x10000 图像。这是否意味着 1 位图像中的每 10 位对应于新图像中的 1 个像素?顺便说一句,我正在使用 libtiff 并使用 tiffreadscanline 读取 1 位 tiff。谢谢!
【问题讨论】:
假设我有一个 100000x100000 1 位(K 通道)tiff,dpi 为 2000,我想将其缩小到 200 dpi。我得到的图像将是 10000x10000 图像。这是否意味着 1 位图像中的每 10 位对应于新图像中的 1 个像素?顺便说一句,我正在使用 libtiff 并使用 tiffreadscanline 读取 1 位 tiff。谢谢!
【问题讨论】:
这意味着 1 位图像中的每 100 位对应于新图像中的 1 个像素。您需要对 10x10 1bit 像素区域的值进行平均。为了获得更平滑的灰度,您最好对 n 位进行平均,其中 n 是目标像素的位深度,部分覆盖计算区域与相邻区域(相隔 16x16px 的正方形 10x10px ,因此它们的边框会重叠,以获得平滑的 8 位灰度。)
【讨论】:
了解您为什么要缩小尺寸很重要(因为输出介质或文件大小?)。正如 SF 所指出的,颜色/灰度在某种程度上可以与分辨率互换。如果只是关于文件大小无损/有损压缩也值得一看..
另一件事是了解源图像的一些特征。例如,如果源图像被光栅化(如报纸图像),您可能会得到不正确的图案,因为点阵被弄乱了。我曾经尝试恢复一张旧的报纸图像,我发现它的工作量很大。我最终在增强图像之前先将其转换为灰度。
我建议尝试一下VIPS 或 Irfanview 以找到最佳结果(即某种重采样算法对您的图像质量有什么影响)。这些程序(即 Photoshop)的原因是您可以在了解其背后算法的名称/参数的同时尝试 GUI/命令行。使用 VIPS,您可以控制大部分(如果不是全部)参数。
[编辑] TiffDump(随 LibTiff 二进制文件提供)是一个有价值的信息来源。它会告诉你字节顺序等。我所做的是从一个已知的图像开始。例如,LibTIFF.NET 带有许多测试图像,包括黑白(一些 0=黑色,一些 1=黑色)。 [/编辑]
【讨论】: