【发布时间】:2014-09-13 12:29:03
【问题描述】:
假设我有一个 3000 像素宽的图像。我知道(至少我认为我知道)如果我将其缩小为 1500 像素宽(即 50%),结果会比我将其调整为 1499 或 1501 像素宽的效果更好。
我想无论使用何种算法都会如此。但我没有确凿的证据,我想要证据的原因是它可以帮助我决定不太明显的案例。
例如,将其减小到 1000 像素(三分之一)大概也可以。但是3/4呢?比1/2好吗?它当然可以容纳更多的细节,但它的一部分不会变得无法挽回地模糊吗?是否有可以抵消实际分辨率的“引起的模糊性”的度量?
例如,我想这样的指标会清楚地显示 3000 -> 1501 比 3000 -> 1500 差,比 1501 > 1500 所获得的要多。
直观地说,1/n 调整大小,其中 n 是原始大小的一个因子,将产生最佳结果,其次是 n/m,其中数字可能是最低的。如果原始大小(X 和 Y)不是分母的倍数,则结果预计会更差,但我没有证据。
这些问题一定有人研究过。人们设计了各种复杂的算法,他们必须以某种方式考虑到这一点。但我什至不知道在这里问这些问题。我在这里问他们是因为我看到相关的答案很好。感谢您的关注,请原谅人为的演示。
【问题讨论】:
-
Image scaling 是一个很大的话题,您的问题可能过于广泛,无法在这里解决。对您的问题的一般回答是“视情况而定”。这取决于使用什么算法进行采样。 一般来说,你唯一能说的就是你把图片缩小得越多,你丢失的信息就越多。使用现代缩放算法,从 3000 缩小到 1500 看起来比缩小到 1600 甚至 1550 看起来更好的可能性很小。
-
更重要的是,您的直觉似乎是基于这样的想法,即通过删除每个
nth像素来完成缩放,因此将 3000 缩放到 1500 只会删除所有其他像素。这不是大多数缩放算法的工作方式。相反,它们通过检查图像区域并选择具有代表性的颜色来工作。抽样和选择过程可能相当复杂。 -
@JimMischel,您的第二条评论或多或少是中肯的。不,我不是假设像素会被删除,而是代表块会更好地工作,因为它们是原始的整数因子。但是我从我得到的两个答案中看到,没有一个最好的算法以如此简单的方式工作,以至于受此影响很大。我主要考虑的是“像素调整大小”,其中每个像素都将从原始的 n*n 块构建,并且仍然希望对此有答案。
-
你所说的“像素调整大小”就是我在回答中所说的“像素平均”。
-
@MarkRansom 确实如此。你知道这个问题的讨论吗?当然,不同图像的结果会不均匀,但是有没有人研究过如何普遍量化它?
标签: image algorithm image-processing graphics image-resizing