36.4、视觉测量---二维测量算子

1、distance_pl( : : Row, Column, Row1, Column1, Row2, Column2 : Distance)

    功能:计算点到直线的距离

    参数:

    Row, Column:输入点的坐标

    Row1, Column1, Row2, Column2:输入线段的起始点和终点

    Distance:输出距离

    注:row是y坐标值,column是x坐标值

2、distance_pp( : : Row1, Column1, Row2, Column2 : Distance)

    Row1, Column1:输入第一个点的坐标

    Row2, Column2:输入第二个点的坐标

    Distance:输出距离

3、projection_pl( : : Row, Column, Row1, Column1, Row2, Column2 : RowProj, ColProj)

    功能:计算一个点到一条直线的垂足

    Row, Column:输入点的坐标

    Row1, Column1, Row2, Column2:输入线段的起始点和终点坐标

    RowProj, ColProj:输出垂足坐标

4、angle_ll( : : RowA1, ColumnA1, RowA2, ColumnA2, RowB1, ColumnB1, RowB2, ColumnB2 : Angle)

    功能:计算两条直线的夹角

    RowA1, ColumnA1:输入第一条直线的起始点坐标

    ColumnA2, RowB1:输入第一条直线的终点坐标

    RowB1, ColumnB1:输入第二条直线的起始点坐标

    ColumnB1, RowB2:输入第二条直线的终点坐标

    Angle:输出两条直线的夹角(单位为弧度)

    注:row是y坐标值,column是x坐标值

    内部计算过程如下:

    把第一条直线作为矢量A;把第二条直线作为矢量B;以两条直线的交点作为旋转中心,把矢量A逆时针旋转到

    矢量B,产生的角度Angle作为返回值。所以Angle取决于直线的起始点和终点的顺序和直线的顺序,取值范围

为:-PI <= Angle <= PI

5、angle_lx( : : Row1, Column1, Row2, Column2 : Angle)

    功能:计算直线和水平轴(x轴)的夹角。

    Row1, Column1:输入直线的起始点坐标

    Row2, Column2:输入直线的终点坐标

    Angle:输出角度(单位弧度)

    内部计算过程:

    把条直线作为矢量A,把矢量A逆时针旋转到水平轴,产生的角度Angle作为返回值取值范围为:

-PI <= Angle <= PI

 

6、其他测量算子:在help中输入distance关键字即可,下面列出常用的。

    distance_cc(Contour1, Contour2 : : Mode : DistanceMin, DistanceMax) :计算两个轮廓键的最大距离和最小距离

    distance_cc_min(Contour1, Contour2 : : Mode : DistanceMin) :计算两个轮廓的最小距离

    distance_lc(Contour : : Row1, Column1, Row2, Column2 : DistanceMin, DistanceMax) :计算直线和轮廓的最大距离和

                                                                             最小距离

    distance_lr(Region : : Row1, Column1, Row2, Column2 : DistanceMin, DistanceMax):计算直线和区域的最大距离和最

                                                                            小距离

    distance_pc(Contour : : Row, Column : DistanceMin, DistanceMax):计算一个点到轮廓的最小距离和最大距离

    distance_pr(Region : : Row, Column : DistanceMin, DistanceMax):计算一个点到区域的最下距离和最大距离

    distance_ps( : : Row, Column, Row1, Column1, Row2, Column2 : DistanceMin, DistanceMax) :计算一个点到直线段

                                                                                最大距离和最小距离

    distance_rr_min(Regions1, Regions2 : : : MinDistance, Row1, Column1, Row2, Column2):计算两个区域的最小距离并

                                                                        输出最小距离的这两个点

distance_sc(Contour : : Row1, Column1, Row2, Column2 : DistanceMin, DistanceMax) :计算直线段到

                                                                    轮廓的最小距离和最大距离

distance_sl( : : RowA1, ColumnA1, RowA2, ColumnA2, RowB1, ColumnB1, RowB2, ColumnB2 : DistanceMin, DistanceMax) :计算直线段和直线之间的最小距离和最大距离

distance_sr(Region : : Row1, Column1, Row2, Column2 : DistanceMin, DistanceMax):计算直线段和区域间的最小距

                                                                        离和最大距离。

distance_ss( : : RowA1, ColumnA1, RowA2, ColumnA2, RowB1, ColumnB1, RowB2, ColumnB2 : DistanceMin, DistanceMax) :计算两条直线段之间的最小距离和最大距离

    

    规律:

        p:点(point)

        c:轮廓(Contour)

        l:直线(Line)

        r:区域(Region)

        s:线段(line segment)

 

posted @ 2022-05-31 23:46  ihh2021  阅读(474)  评论(0编辑  收藏  举报