帮助pixelate算法背后的理论?

Oli*_*ver 5 theory rgb pixel colors

所以说我有一个想要"像素化"的图像.我希望这个清晰的图像由100×100格的网格表示.因此,如果原始照片为500 px X 500 px,则每个正方形为5 px X 5 px.所以每个方块的颜色都对应于它交换的5像素×5像素像素组...

我如何弄清楚这一种颜色,它最能代表它涵盖的东西是什么?我只是为25个像素中的每个像素取RG和B数并取平均值吗?或者我应该知道一些不起眼的其他方式?什么是"像素化"功能中常用的,比如说在photoshop中?

por*_*ges 12

如果您想了解像素化的"理论",请阅读重新采样(特别是下采样).像素化算法简单地对图像进行下采样(使用一些下采样方法),然后使用最近邻插值对其进行上采样.请注意,在代码中,这两个步骤可以融合为一个.

对于一般的下采样,为了下采样n倍,首先通过适当的低通滤波器对图像进行滤波,然后取出每n个中的一个样本.使用的"理想"滤波器是sinc滤波器,但由于实现它的问题,Lanczos滤波器通常用作紧密替代方案.

但是,对于进行像素化时的几乎所有目的,使用简单的框模糊应该可以正常工作,并且实现起来非常简单.这只是附近像素的平均值.

如果您不需要更改图像的输出大小,则表示您将图像划分为k × k像素的块(生成的大像素),然后用平均值替换每个块中的所有像素该块中的像素数.