我有一张图片,我从中创建了一些线条。我保存了起点和终点。线条基本上是矩形的长边,在图像中绑定了一个白色斑点。矩形放置在某个圆圈中。图片显示在
下方问题是当圆形的下部形成矩形时,起点可以被认为是圆的最低点,即靠近圆的边缘,但是当圆形的上部形成矩形时,如图所示在图像的最后一个刻度盘中,很难找出选择哪个点作为起点来找出靠近刻度盘中心的起点。
是否可以解决如何在圆圈的上部区域交换线的点。请指导我,因为我现在没有想法。
这是用于选择矩形的最长边并打印其点的代码
int maxIndex = 0;
for (int a = 1; a < length.length; a++){
double newnumber = length[a];
if ((newnumber > length[maxIndex])){
maxIndex = a;
}
}
System.out.println("Start= "+pts[maxIndex].toString()+" End= "+pts[(maxIndex+1)%4].toString()+", Length="+length[maxIndex]);
此致
答案 0 :(得分:0)
也许这是一种骚动,但首先想到的是将角落的Y值相加,但不要除以4(不是必需的)。如果它们高于,当矩形为水平时,阈值为4 * sum ,那么您就知道它是“向上”。
在IF语句中使用它来切换上下情况的代码......
int totalY = 0;
for(int i = 0; i < 4; i++){
totalY += vectorOfYourPoints[i].y;
}
if(totalY > someThresholdYoullSet){
//do the thing you need to do if it's UP
} else {
//do the thing you need to do if it's DOWN
}