如何在16位显示器上缩小原始rgb数据的数组

luc*_*ius 2 c c++ linux

我在16位显示器上有一系列原始rgb数据,尺寸为320*480.阵列大小为320*480*4 = 6144000.

我想知道如何在不降低图像质量的情况下缩小(80*120)?

我找到了关于在2D数组中缩放图像的链接,但是如何将其应用于我的16位显示数组呢?它不是2D数组(因为它有16位颜色).

图像缩放和C/C++旋转

谢谢.

jw.*_*jw. 5

如果要将较大的图像缩小到较小的图像,则会丢失图像质量.

那么,问题是如何最大限度地减少损失.

有许多算法可以做到这一点,每个算法都有优点和缺点.

通常,您会对图像应用某种滤镜,例如双线性或最近邻.以下是 ImageMagick上下文中对此类过滤器的讨论.

此外,如果输出将小于每像素16位,则需要进行某种形式的颜色量化.