Graphics 对图像进行下采样,而不使用“下采样”;“跳舞”;像素

Graphics 对图像进行下采样,而不使用“下采样”;“跳舞”;像素,graphics,hlsl,cg,Graphics,Hlsl,Cg,假设我想将图像实时采样(1280x720)降到非常小的比例(16x16),并且在图像移动时不受“跳舞”像素的影响,我会使用哪种技术 这将使用XBox360/PS3 GPU 请注意,16x16图像只需要包含原始图像的一个非常“通用”的表示—几乎就像颜色的粗略估计 直接向下采样会导致像素进入/退出采样,因此当图像移动时,您会获得舞蹈/迪斯科效果 谢谢您的帮助。您需要使用平均值而不是下采样。例如,将每个像素设置为80x45像素块的平均值将从1280x720图像中获得16x16图像。请注意,这将改变纵横

假设我想将图像实时采样(1280x720)降到非常小的比例(16x16),并且在图像移动时不受“跳舞”像素的影响,我会使用哪种技术

这将使用XBox360/PS3 GPU

请注意,16x16图像只需要包含原始图像的一个非常“通用”的表示—几乎就像颜色的粗略估计

直接向下采样会导致像素进入/退出采样,因此当图像移动时,您会获得舞蹈/迪斯科效果


谢谢您的帮助。

您需要使用平均值而不是下采样。例如,将每个像素设置为80x45像素块的平均值将从1280x720图像中获得16x16图像。请注意,这将改变纵横比虽然


我要澄清的是,你不一定要平均整个块——你可以平均其中的其他像素,或者你想要的任何像素。但是,你计算的像素越多,这个值就越精确。您还可以使用其他统计测量方法——通道中的模式或中值也可以工作。

提供最佳质量的下采样滤波器是进行二维傅里叶变换,仅选择低频,然后对低分辨率图像进行傅里叶逆变换


显然,这不是最快的方法,在缩放和处理颜色通道时可能会出现一些小问题。

平均值是一个非常差的低通滤波器。最好在抽取之前使用一个像样的过滤器。这也行得通——在下采样之前在整个图像上运行一个高斯过滤器或其他东西。但我不确定是什么让平均成绩这么差。它可以是非常快的,尽管我假设你指的是各向异性的事实?我发现简单的盒平均法通常看起来和更复杂的滤波器一样好或更好,比如高斯、Sinc、米切尔、贝塞尔或凯泽,而计算成本只是计算成本的一小部分。但我想这也要取决于你的品味。@aardvarkk:用平均值代替一个像样的低通滤波器的问题是,平均值的阻带抑制非常差,因此你会得到大量不必要的高频能量,这会导致混叠。对于许多应用来说,这可能并不重要,但对于高质量的下采样,最好使用一个像样的滤波器。中值滤波(或一般顺序统计滤波)是一种非常有效的下采样方法。中值选择可以在线性时间内完成,尽管它需要大量的条件分支,而不是平均算法。