Algorithm 调整图像大小,使其正好包含120个像素,并尽可能保持高宽比

Algorithm 调整图像大小,使其正好包含120个像素,并尽可能保持高宽比,algorithm,math,language-agnostic,number-theory,Algorithm,Math,Language Agnostic,Number Theory,我想把一堆图像的大小调整得非常小,这样我就可以对它们进行一些图像分析。我希望它们都包含相同数量的像素用于向量比较。我选择“120”是因为它是。我可以将每个图像的大小调整为12x10,但对于纵横比不为1.2的图像,拉伸可能比必要的拉伸更多 如何选择最接近原始纵横比的新宽度和高度 作为参考,它们是:{1,2,3,4,5,6,8,10,12,15,20,24,30,40,60,120},因此有效大小应该是12x10,10x12,8x15,15x8,6x20,20x6等等 编辑:144可能是一个更好的选

我想把一堆图像的大小调整得非常小,这样我就可以对它们进行一些图像分析。我希望它们都包含相同数量的像素用于向量比较。我选择“120”是因为它是。我可以将每个图像的大小调整为12x10,但对于纵横比不为1.2的图像,拉伸可能比必要的拉伸更多

如何选择最接近原始纵横比的新宽度和高度

作为参考,它们是:{1,2,3,4,5,6,8,10,12,15,20,24,30,40,60,120},因此有效大小应该是12x10,10x12,8x15,15x8,6x20,20x6等等


编辑:144可能是一个更好的选择,因为它允许正方形图像和流行的16:9比率。

我实现类似的方法是将纵横比(1:144、2:72、3:48、4:36等)存储到一个排序数组中。然后,对于每个传入图像,计算其纵横比,然后使用二进制搜索找到最接近的所需比例


更好的方法是,存储纵横比日志,并使用图像纵横比日志进行二进制搜索。

我实现这种方法的方法是将纵横比(1:144、2:72、3:48、4:36等)存储到排序数组中。然后,对于每个传入图像,计算其纵横比,然后使用二进制搜索找到最接近的所需比例


更好的方法是,存储纵横比日志,并使用图像纵横比日志进行二进制搜索。

我实现这种方法的方法是将纵横比(1:144、2:72、3:48、4:36等)存储到排序数组中。然后,对于每个传入图像,计算其纵横比,然后使用二进制搜索找到最接近的所需比例


更好的方法是,存储纵横比日志,并使用图像纵横比日志进行二进制搜索。

我实现这种方法的方法是将纵横比(1:144、2:72、3:48、4:36等)存储到排序数组中。然后,对于每个传入图像,计算其纵横比,然后使用二进制搜索找到最接近的所需比例


更好的是,存储纵横比日志,并使用图像纵横比日志进行二进制搜索。

为什么要使用日志?1/120=0.008333333——浮点数的精度可以处理得很好,不是吗?1/144=0.006944444并不更糟。当长宽比位于两个可能的期望比率之间,并且您想要找出哪一个更接近时,使用对数平均值,您可以与这两个对数比率的算术平均值进行比较,而不是与非对数比率的几何平均值进行比较。但真的,两种方法都可以。哦……是的,这是有道理的。不过,二进制搜索会给出两边最接近的数字,所以我最多只需要做2次距离计算就可以找到哪一个更接近。为什么要用日志呢?1/120=0.008333333——浮点数的精度可以处理得很好,不是吗?1/144=0.006944444并不更糟。当长宽比位于两个可能的期望比率之间,并且您想要找出哪一个更接近时,使用对数平均值,您可以与这两个对数比率的算术平均值进行比较,而不是与非对数比率的几何平均值进行比较。但真的,两种方法都可以。哦……是的,这是有道理的。不过,二进制搜索会给出两边最接近的数字,所以我最多只需要做2次距离计算就可以找到哪一个更接近。为什么要用日志呢?1/120=0.008333333——浮点数的精度可以处理得很好,不是吗?1/144=0.006944444并不更糟。当长宽比位于两个可能的期望比率之间,并且您想要找出哪一个更接近时,使用对数平均值,您可以与这两个对数比率的算术平均值进行比较,而不是与非对数比率的几何平均值进行比较。但真的,两种方法都可以。哦……是的,这是有道理的。不过,二进制搜索会给出两边最接近的数字,所以我最多只需要做2次距离计算就可以找到哪一个更接近。为什么要用日志呢?1/120=0.008333333——浮点数的精度可以处理得很好,不是吗?1/144=0.006944444并不更糟。当长宽比位于两个可能的期望比率之间,并且您想要找出哪一个更接近时,使用对数平均值,您可以与这两个对数比率的算术平均值进行比较,而不是与非对数比率的几何平均值进行比较。但真的,两种方法都可以。哦……是的,这是有道理的。不过,二进制搜索会给出两边最接近的数字,所以我最多只需做2次距离计算,就可以找到哪一个更接近。