在 Photoshop 中,当光栅缩小75%与缩小50% 两次时,质量会有所不同吗?在这两种情况下,最终大小将相同:原始大小的 25%。
我问的原因是因为有时我想缩小我知道以前已经缩小的图像。我讨厌必须按 CTRL+Z(撤消)一百次才能恢复到图像处于原始大小的状态。如果最终质量不受影响,我宁愿直接缩小图像。
在 Photoshop 中,当光栅缩小75%与缩小50% 两次时,质量会有所不同吗?在这两种情况下,最终大小将相同:原始大小的 25%。
我问的原因是因为有时我想缩小我知道以前已经缩小的图像。我讨厌必须按 CTRL+Z(撤消)一百次才能恢复到图像处于原始大小的状态。如果最终质量不受影响,我宁愿直接缩小图像。
这是社区维基,所以你可以修复这个可怕的、糟糕的帖子。
Grrr,没有 LaTeX。:) 我想我只需要尽我所能。
我们有一个名为A的图像(PNG 或其他无损* 格式) ,大小为A x by A y。我们的目标是将其缩放p = 50%。
Image ("array") B将是 A 的“直接缩放”版本。它将有B s = 1步数。
A = B B s = B 1
Image ("array") C将是A的“增量缩放”版本。它将有C s = 2步数。
A ≅ C C s = C 2
A = B 1 = B 0 × p
C 1 = C 0 × p 1 ÷ C s
A ≅ C 2 = C 1 × p 1 ÷ C s
你看到那些分数幂了吗?从理论上讲,它们会降低光栅图像的质量(矢量内的光栅取决于实现)。多少钱?我们接下来会弄清楚...
C e = 0如果p 1 ÷ C s ∈ ℤ
C e = C s如果p 1 ÷ C s ∉ ℤ
其中e表示由于整数舍入误差而导致的最大误差(最坏情况)。
现在,一切都取决于缩减算法(超级采样、双三次、Lanczos 采样、最近邻等)。
如果我们使用最近邻(任何质量的最差算法),“真正的最大误差”( C t)将等于C e。如果我们使用任何其他算法,它会变得复杂,但不会那么糟糕。(如果你想要一个关于为什么它不会像最近邻那么糟糕的技术解释,我不能给你一个因为这只是一个猜测。注意:嘿数学家!解决这个问题!)
让我们用D x = 100、D y = 100和D s = 10创建一个图像D的“数组” 。p仍然相同:p = 50%。
最近邻算法(可怕的定义,我知道):
N(I, p) = mergeXYDuplicates(floorAllImageXYs(I x,y × p), I),其中只有x,y本身被相乘;不是他们的颜色(RGB)值!我知道你在数学上真的做不到,这就是为什么我不是预言中的传奇数学家。
(mergeXYDuplicates()仅保留原始图像I中最底部/最左侧的x,y “元素”,用于找到它找到的所有重复项,并丢弃其余部分。)
让我们取一个随机像素:D 0 39,23。然后一遍又一遍地应用D n+1 = N(D n , p 1 ÷ D s ) = N(D n , ~93.3%)。
c n+1 = floor(c n × ~93.3%)
c 1 = 地板((39,23) × ~93.3%) = 地板((36.3,21.4)) = (36,21)
c 2 = 地板((36,21) × ~93.3%) = (33,19)
c 3 = (30,17)
c 4 = (27,15)
c 5 = (25,13)
c 6 = (23,12)
c 7 = (21,11)
c 8 = (19,10)
c 9 = (17,9)
c 10 = (15,8)
如果我们只进行一次简单的缩小,我们将拥有:
b 1 = 地板((39,23) × 50%) = 地板((19.5,11.5)) = (19,11)
让我们比较b和c:
b 1 = (19,11)
c 10 = (15,8)
这是(4,3)像素的错误!让我们用结束像素(99,99)试试这个,并考虑错误中的实际大小。我不会再在这里做所有的数学运算,但我会告诉你它变成了( 46,46) ,它应该是(49,49)的(3,3)错误。
让我们将这些结果与原始结果结合起来:“真正的错误”是(1,0)。想象一下,如果每个像素都发生这种情况......它最终可能会有所作为。嗯...嗯,可能有一个更好的例子。:)
如果您的图像最初尺寸很大,那并不重要,除非您进行多次缩小(请参阅下面的“真实示例”)。
在最近邻中,每个增量步骤(向下)最多会恶化一个像素。如果您进行十次缩小,您的图像质量会略有下降。
(点击缩略图查看大图。)
使用超级采样逐步缩小 1%:
如您所见,如果应用多次,超级采样会“模糊”它。如果你正在做一个缩小范围,这是“好”的。如果您逐步进行,这很糟糕。
*取决于编辑器和格式,这可能会有所不同,所以我保持简单并称之为无损。
JoJo 询问质量。大多数回复都是关于像素精度的,这对设计师甚至摄影师来说几乎是无关紧要的。
质量是衡量最终结果有多令人信服和令人愉悦的标准,而不是它有多“准确”。作为一个很好的例子,克隆或内容感知填充用合理的像素替换图像中不需要的部分:它们看起来是正确的,但它们当然不能被认为是准确的。
在 Photoshop 中,逐步缩小尺寸与一次性缩小尺寸之间的主要实际区别在于它需要更长的时间。如果您按小时收费,则一定要一次收费 1%。如果没有,请一口气缩小尺寸。首先将图像制作为智能对象,以防您以后想要制作更大的版本。
无论您使用什么算法(并且 Dawson 对这些算法的评论已经死了——它们太棒了),缩小尺寸会丢弃像素。该算法通过猜测如何使它们看起来正确来减去像素并修改其他像素。一个好的算法可以做出好的猜测;它为您提供了一个看起来令人信服的结果,但它在任何有意义的意义上都不准确。老实说,准确——除了颜色!- 除非您是科学家,否则您可能不会想要缩小规模。
使用通常的双三次算法缩小尺寸的图像通常会受益于一点锐化,但如果您正在为网络创建 jpeg,锐化会增加文件大小。
设计中的正确质量是您最终产品所需的质量。除此之外的任何事情都会为您的工作增加时间,但不会增加价值。
[编辑:因为在 koiyu 的复兴中提到了扩大这个问题。我已就该主题添加了一些评论。]
有一个想法是,如果您以小步幅放大图像,而不是单个巨大的飞跃,您会得到稍微好一点(“稍微不那么糟糕”会更准确)的结果。Scott Kelby 几年前提出了这个想法,并且在 PS 7 中可能是正确的。我还没有看到任何东西让我相信今天它是正确的。在我自己的测试中并没有证明这一点,回到 PS CS2 和 3,但必须说我并没有在它们上浪费很多时间。
我没有花时间进行深度测试,因为“降低的图像质量”和“稍微降低的图像质量”之间的细微差别没有实用价值:两者都不可用。在我自己的工作中,我的简单规则是“不要升迁”。作为设计工作中的实用性问题,对于特定目的来说分辨率有点过低的图像总是看起来比通过任何过程“放大”到“正确”分辨率的相同图像更好地使用遇到,包括分形和双三次变化。
通常,多次缩放会降低一次缩放到最终尺寸的质量,但通常差异很小。特别是,按精确比例缩小比例,例如 (2:1, 2:1) 与 (4:1) 的示例,与单一比例相比,降级将非常小。当然,最好以最高分辨率进行所有修改,最后只缩放一次。当最初不知道确切的缩放比例时,可以进行一系列测试缩放以找到合适的尺寸,然后记下尺寸,丢弃测试图像,然后从原始尺寸执行一次缩放到该尺寸。
这个问题太棒了!...我认为我们都变得太技术化了。
100 x 100 像素图像 = 10000 总像素
缩小图像会拉出像素。扩大规模会增加它们。无论哪种方式,软件都会采用“有根据的猜测”来更改文件。
单次缩小: 90 x 90(1900px从原始文件信息中删除)
2 级缩小: 95 x 95(删除 975 像素)、90 x 90(另一个 925)。此处要了解的细节是总共删除的 1900 像素——其中 975不是原始信息的一部分。
原始图像总是最好的。更少的“世代”总是等同于更好的质量(最接近原始质量)。
证明(以及对@mutoo 评论的回应)
很简单……是算法……不是人眼。这里有3种颜色。100% 黑色、50% 黑色和白色(灰度图像)。不管我怎么缩放——图像尺寸菜单、变换工具、RGB、CMYK、100 x 100px、10 x 10in,结果都是一样的:
沿着黑色/灰色边缘,您会发现 80% 的黑色(一种不存在的颜色)。沿着白色/灰色边缘,您会发现 7% 的黑色(不存在)。[这里不是抗锯齿争论的邀请]
众所周知(作为人类,以及所有人),完美的缩小或放大会产生黑色/灰色/白色条纹框。而且我仍然发现单次迭代(向上或向下)创建的副本比多次迭代更好。