|
@@ -30,7 +30,7 @@ unsigned* max2_distance(std::vector<cv::Point> hull)
|
|
|
{
|
|
|
cv::Point thispoint=hull[i];
|
|
|
cv::Point nextpoint=hull[(i+1)%hull.size()];
|
|
|
- int d=dist(thispoint,nextpoint);
|
|
|
+ double d=dist(thispoint,nextpoint);
|
|
|
if( d>distance[0] ) //the biggest till now
|
|
|
{
|
|
|
idx[1]=idx[0];
|
|
@@ -134,9 +134,10 @@ find_longest_line(std::vector<cv::Point> hull, unsigned begin, unsigned end) //t
|
|
|
if(similar_fit(thisline, hull[i])) {
|
|
|
thisline.push_back(hull[i]);
|
|
|
} else { // considering if the just-finished line is the best
|
|
|
- if(dist(thisline[0],thisline[thisline.size()-1])>bestdistance) {
|
|
|
+ double thisdistance = dist(thisline[0],thisline[thisline.size()-1]);
|
|
|
+ if(thisdistance>bestdistance) {
|
|
|
bestline = thisline;
|
|
|
- bestdistance = dist(thisline[0],thisline[thisline.size()-1]);
|
|
|
+ bestdistance = thisdistance;
|
|
|
}
|
|
|
thisline.clear();
|
|
|
assert(bestline.size()>=2);
|