Image processing 如何检测图像是否为正方形?
我正在使用Image processing 如何检测图像是否为正方形?,image-processing,language-agnostic,scaling,Image Processing,Language Agnostic,Scaling,我正在使用处理制作一个桌面图像编辑软件。它将允许用户选择要编辑的图像。用户可以进行编辑的区域是一个固定的640x480屏幕 这意味着我必须缩放输入图像以适应屏幕。这对于矩形图像很容易做到。处理方形图像时会出现问题。 在编程上,2500x2501不是方形图像。就所有实际目的而言,它是 如何确保正确缩放这些图像?计算纵横比(宽度/高度,反之亦然)。我建议用较小的数除以另一个数,这样你总是得到一个不大于1的数 然后定义一个阈值,即介于0和1之间的数字。如果得到的除法给出的结果小于阈值,则可以认为图像是
处理
制作一个桌面图像编辑软件。它将允许用户选择要编辑的图像。用户可以进行编辑的区域是一个固定的640x480
屏幕
这意味着我必须缩放输入图像以适应屏幕。这对于矩形图像很容易做到。处理方形图像时会出现问题。在编程上,
2500x2501
不是方形图像。就所有实际目的而言,它是
如何确保正确缩放这些图像?计算纵横比(宽度/高度,反之亦然)。我建议用较小的数除以另一个数,这样你总是得到一个不大于1的数
然后定义一个阈值,即介于0和1之间的数字。如果得到的除法给出的结果小于阈值,则可以认为图像是非正方形的。
沿着这些线……< /P>
var ratio = 1;
if(Height>Width)
{
ratio = (Height / Width);
}else{
ratio = (Width / Height);
}
var ThresHoldVal = 0.1; // 10% out.
if((Ratio-1) > ThresholdVal)
{
//Invalid.
}
计算纵横比,并使用阈值确定它是否在1左右。您可以检查这些值是否在彼此的0.1%以内,或者是否在其他小百分比以内,如果在0.1%以内,则将每一侧作为两个值的平均值。从来没有真正测试过这个,只是在我读问题的时候想到的。用你的例子。非常好用。