2014-06-12 22 views
0

我想将一大堆图像缩小到非常小,以便我可以对它们执行一些图像分析。我希望它们都包含我的矢量比较的相同数量的像素。我选择了“120”,因为它是highly composite。我可以将每个图像的大小调整为12x10,但是对于没有1.2纵横比的图像,可能会有更多的拉伸。将图像调整为包含120像素,尽可能保持纵横比尽可能接近

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

作为参考,divisors of 120是:{1,2,3,4,5,6,8,10,12,15,20,24,30,40,60,120},因此有效尺寸将是12×10,10×12,8×15,15×8,6×20,20×6等等。

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

回答

3

我这样实现的方式是将长宽比(1:144,2:7​​2,3:48,4:36等)存储到排序数组中。然后,对于每个输入图像,计算其纵横比,然后使用二进制搜索查找最接近的期望比例。

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

+0

为什么登录? 1/120 = 0.008333333 - 浮点数的精度可以很好地处理,不是吗? 1/144 = 0.006944444并没有太大的差距。 – mpen

+0

如果您的纵横比在两个可能的期​​望比率之间,并且您想知道哪一个比较接近,那么使用日志意味着您可以与这两个对数比的算术平均值进行比较,而不是使用几何平均值非对数比。但实际上,无论哪种方式都很好。 –

+0

Ohh ..是的,这是有道理的。二进制搜索会给我两边的最接近的数字,所以我只需要至多做两次距离计算来找出哪一个更接近。 – mpen

相关问题