-点到直线的距离:

 cv::Point center(1,2);
 cv::Point point_tl(2,2);
 cv::Point point_tr(3,2);
 float dis1 = getDist_P2L(center,  point_tl, point_tr);
/** @brief 判断一个点是否在一个矩形里
@param PointpointP 点;.
@param cv::Point pointA, cv::Point pointB. 直线的两个点
@output distance
 */
float getDist_P2L(cv::Point pointP, cv::Point pointA, cv::Point pointB)
{
    int A = 0, B = 0, C = 0;
    A = pointA.y - pointB.y;
    B = pointB.x - pointA.x;
    C = pointA.x*pointB.y - pointA.y*pointB.x;

    float distance = 0;
    distance = ((float)abs(A*pointP.x + B*pointP.y + C)) / ((float)sqrtf(A*A + B*B));
    return distance;
}
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐