我试着理解降尺度。我可以看到如何使用插值算法,如双三次和最近邻域时,当升级时,“填补空白”之间的旧的,已知的点(像素,在图像)。
但降尺度呢?我看不出有什么插值技术可以用在那里。没有空白可以填补!
我已经坚持了很久了,给我一个正确的方向。实际上,当您删除已知数据时,您如何内插?
编辑:假设我们有一个一维图像,每个点有一个颜色通道。一种按平均像素值从6点到3点的降维算法如下: 1,2,3,4,5,6 = (1+2)/2,(3+4)/2,(5+6)/2 Am i在这里的正确轨道?这是降尺度的插值,而不仅仅是丢弃数据吗?
发布于 2009-05-18 03:50:27
这里有原始图像的顶部,然后是一个朴素的删除算法在中间,和一个内插算法在底部。
考虑一下聚光灯。中心的光线是最亮的,边缘的光线变得更暗。当你把它照得更远时,你会期望光束突然失去边缘附近的黑暗,变成一个坚实的光轮廓吗?
不,同样的事情也发生在堆栈溢出标志上。正如你在第一次向下缩放时所看到的,这幅画已经失去了边缘的柔软感,看起来很可怕。第二次降尺度通过对像素环境的平均处理,保持了边缘的平滑性。
对于您来说,一个简单的卷积滤波器是将像素及其周围的所有其他像素的RGB值相加,并做一个简单的平均值。然后用该值替换像素。然后,您可以丢弃相邻的像素,因为您已经将该信息包含在中心像素中。
发布于 2009-05-18 01:26:26
如果将原始像素概念化为具有宽度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远离原始的第二个像素。
如果我们想要保持一个平滑的图像,使用逆关系:取第一个像素的颜色值+第二个像素值的(1/4)的颜色值(3/4),因为新的像素中心在概念上将更接近于第一个原始像素中心(n/4离开),而不是第二个像素中心(3n/4离开)。
因此,我们不必真正丢弃数据--只需计算来自其邻居的适当比率(在概念空间中,总图像的物理大小不发生变化)。这是一种平均,而不是严格的跳过/丢弃。
在2d图像中,该比值的计算比较复杂,但其依据是相同的。插值,并从最近的原始“邻居”中提取更多的值。如果下采样不是非常严重,则生成的图像应该与原始图像非常相似。
发布于 2009-05-18 00:51:28
无论是上尺度还是降尺度,“插值”实际上都是重新抽样。
如果缩小版本中的样本数不是全部样本数(像素等)的偶数因子,那么简单地丢弃数据就会产生在图像中显示为“锯齿”的采样错误。相反,如果使用您提到的一种算法在现有样本之间的空间内插新样本的位置,则结果要平滑得多。
您可以将其概念化为首先扩展到旧的和新的大小最不常见的倍数,然后通过丢弃样本进行缩小,但实际上不会产生中间结果。
https://stackoverflow.com/questions/875856
复制相似问题