我正在尝试了解降尺度。我可以看到在放大时如何使用双三次和最近邻等插值算法来“填充旧的已知点(像素,在图像的情况下)之间的空白”。
但是降尺度?我看不出在那里可以使用任何插值技术。没有空白可填!
我一直坚持这个很长时间,给我一个正确方向的插入。事实上,当您移除已知数据时,您如何进行插值?
编辑:假设我们有一个一维图像,每个点有一个颜色 channel 。按平均像素值缩放 6 到 3 点的缩小算法如下所示: 1,2,3,4,5,6 = (1+2)/2,(3+4)/2,(5+6)/2 我走在正确的轨道上吗?这种插值是降尺度而不是丢弃数据吗?
最佳答案
如果将原始像素概念化为具有宽度 n,则该像素的中心距任一边缘 n/2。
可以假设像素中心的这一点定义了颜色。
如果你正在缩减采样,你可以从概念上这样考虑:即使你正在减小物理尺寸,而是认为你保持相同的尺寸,但减少像素数量(尺寸增加 - 概念上).然后可以算一算...
示例:假设您的图像高 1 像素,宽 3 像素,并且您只打算水平缩小。假设您要将其更改为 2 像素宽。现在原始图像为 3n,而您将其变为 2 个像素,因此每个新像素将占据原始图像像素的 (3/2)。
不再考虑中心...新像素的中心位于 (3/4)n 和 (9/4)n [即 (3/4) + (3/2)]。原始像素的中心位于 (1/2)n、(3/2)n 和 (5/2)n。因此,每个中心都位于我们可以找到原始像素中心的位置之间——没有一个与原始像素的中心匹配。让我们看看 (3/4)n 处的第一个像素 - 它与原始的第一个像素相距 (1/4)n,与原始的第二个像素相距 (3/4)n。
如果我们想保持平滑的图像,使用反比关系:取第一个像素颜色值的 (3/4) + 第二个像素颜色值的 (1/4),因为新的像素中心,从概念上讲,将比第二个(3n/4 远)更接近第一个原始像素中心(n/4 远)。
因此,不必真正丢弃数据 - 只需计算其邻居的适当比率(在总图像的物理尺寸不变的概念空间中)。这是一个平均而不是严格的跳过/丢弃。
在二维图像中,比率的计算更为复杂,但要点是相同的。插值,并从最近的原始“邻居”中提取更多值。如果下采样不是非常严重,则生成的图像看起来应该与原始图像非常相似。
关于algorithm - 缩小时的插值算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/875856/