opencv-python 求两点间距离以及点到直线距离函数

 

求两点间距离

#***** 求两点间距离*****
def getDist_P2P(Point0,PointA):
    distance=math.pow((Point0[0]-PointA[0]),2) + math.pow((Point0[1]-PointA[1]),2)
    distance=math.sqrt(distance)
    return distance


已知直线上两点求直线的一般式方程

常用的直线方程有一般式 点斜式 截距式 斜截式 两点式等等。除了一般式方程,它们要么不能支持所有情况下的直线(比如跟坐标轴垂直或者平行),要么不能支持所有情况下的点(比如x坐标相等,或者y坐标相等)。所以一般式方程在用计算机处理二维图形数据时特别有用。

已知直线上两点求直线的一般式方程

已知直线上的两点P1(X1,Y1) P2(X2,Y2), P1 P2两点不重合。则直线的一般式方程AX+BY+C=0中,A B C分别等于:

A = Y2 - Y1

B = X1 - X2

C = X2*Y1 - X1*Y2

 

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


#***** 点到直线的距离:P到AB的距离*****
#P为线外一点,AB为线段两个端点
def getDist_P2L(PointP,Pointa,Pointb):
    """计算点到直线的距离
        PointP:定点坐标
        Pointa:直线a点坐标
        Pointb:直线b点坐标
    """
    #求直线方程
    A=0
    B=0
    C=0
    A=Pointa[1]-Pointb[1]
    B=Pointb[0]-Pointa[0]
    C=Pointa[0]*Pointb[1]-Pointa[1]*Pointb[0]
    #代入点到直线距离公式
    distance=0
    distance=(A*PointP[0]+B*PointP[1]+C)/math.sqrt(A*A+B*B)
    
    return distance

 

  • 6
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值