Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing 如何检测图像是否为正方形?_Image Processing_Language Agnostic_Scaling - Fatal编程技术网

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%以内,则将每一侧作为两个值的平均值。从来没有真正测试过这个,只是在我读问题的时候想到的。用你的例子。非常好用。