Tag: 质心

查找图像等高线质心

我试图像这样计算图像质心: // Calculate centroid double signedArea = 0.0; sskp_point centroid; for(int i=0;i<numPoints;i++) { double a = (points[i].x*points[(i+1)%numPoints].y)-(points[(i+1)%numPoints].x*points[i].y); signedArea += a; centroid.x += (points[i].x*points[(i+1)%numPoints].x)*a; centroid.y += (points[i].y*points[(i+1)%numPoints].y)*a; printf("points[%d] = { %f, %f }\n",i,points[i].x,points[i].y); } signedArea /= 2.0; centroid.x /= (6*signedArea); centroid.y /= (6*signedArea); printf("centroid = { %f, %f }\n",centroid.x,centroid.y); 我已经从算法中对此进行了调整,但它给了我错误的结果 ,有人能告诉我这个改编有什么问题吗?