如何检测图像是否为方形?

时间:2013-07-15 19:09:51

标签: image-processing language-agnostic scaling

我正在使用Processing制作桌面图像编辑软件。它将允许用户选择要编辑的图像。用户可以进行编辑的区域是固定的640 x 480屏幕。

这意味着我必须缩放输入图像以适应屏幕。矩形图像很容易做到。处理方形图像时会出现问题 以编程方式,2500x2501不是方形图像。出于所有实际目的,它是。

如何确保正确缩放这些图像?

2 个答案:

答案 0 :(得分:1)

计算纵横比(宽度/高度,反之亦然)。我建议将其中较小的一个除以另一个,所以你总是得到一个不大于一的数字。

然后定义一个阈值,作为介于0和1之间的数字。如果得到的除法给出的结果小于阈值,则可以将图像视为非正方形。

答案 1 :(得分:1)

这些方面的东西......

var ratio = 1;
if(Height>Width)
{
  ratio = (Height / Width);
}else{
  ratio = (Width / Height);
}

var ThresHoldVal = 0.1; // 10% out.

if((Ratio-1) > ThresholdVal)
{
  //Invalid.
}