我有一个如下所示的二维数组:
255 255 255 255 255
255 128 128 128 255
255 128 255 255 255
255 128 128 128 255
255 255 255 255 255
上面的数字表示图像的 RGB 值(R = G = B,灰度图像)。在本例中,它是字母“C”的 5x5 像素图像。
我想将这个 5x5 数组的大小调整为其他尺寸,同时保持纵横比。转换为 20x20 数组很简单,因为 1 个数组元素在宽度和高度上被放大了 2 倍:
255
becomes
255 255
255 255
但是如果我想要任意大小,比如 32x32 怎么办?图像处理程序使用什么方法来调整图像大小?需要强调的是:宽高比保持不变。
澄清一下:我只需要缩放一个二维数组并保持一定的保真度。尽管看起来如此,但我并没有使用图像,但使用图像缩放的概念可能会有用(?)。
最佳答案
有很多方法可以调整图像大小,在图像处理应用程序中更常见的是插值或抽取(如果您分别要放大或缩小) . Boost GIL正是您要找的东西。否则,您可以尝试重写自己的插值函数。在您的情况下,没有必要重新发明轮子,应该研究 Boost。
关于c++ - 将二维整数数组(与图像相关)调整为特定大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41497003/