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