OpenCV 求两点间距离以及点到直线距离函数


求两点间距离

1 /***** 求两点间距离*****/
2 float getDistance(CvPoint pointO, CvPoint pointA) 3 { 4     float distance; 5     distance = powf((pointO.x - pointA.x), 2) + powf((pointO.y - pointA.y), 2); 6     distance = sqrtf(distance); 7     return distance; 8 }

点到直线的距离:P到AB的距离

 1 /***** 点到直线的距离:P到AB的距离*****/
 2 //P为线外一点,AB为线段两个端点
 3 float getDist_P2L(CvPoint pointP, CvPoint pointA, CvPoint pointB)  4 {  5     //求直线方程
 6     int A = 0, B = 0, C = 0;  7     A = pointA.y - pointB.y;  8     B = pointB.x - pointA.x;  9     C = pointA.x*pointB.y - pointA.y*pointB.x; 10     //代入点到直线距离公式
11     float distance = 0; 12     distance = ((float)abs(A*pointP.x + B*pointP.y + C)) / ((float)sqrtf(A*A + B*B)); 13     return distance; 14 }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM