Sherlock之Instructions指令介绍(Sherlock Version: 7.2.5.1 64-bit)

 指令集总览 

            

 

1、General   

    1)、Comment:: 注释指令。

    2)、Image Window: 创建新的图像窗口。 True: 取像之后更新图像窗口显示;False: 有新图像时不更新图像窗口。取像成功返回true。

             

    3)、Return: 流程指令”返回“。从子程序插入一个返回。

    4)、Subrotine: 创建一个子程序。

    5)、Test: 评估声明。

2、Array: Boolean(布尔数组指令)

      同 "Array: Number(整型数组指令)"

 

 

 

 

 

 

 

 

 

3、Array: Line(直线数组指令)

      同 "Array: Number(整型数组指令)"

 

       

 

 

 

 

 

 

 

4、Array: Number(整型数组指令)

    1)、AbsoluteValue: 求绝对值,array = |array|。

    2)、Add / Subtract / Multiply: 两个数组求和 / 差 / 积,array = array_1 (+/-/*) array_2。

    3)、Append: 将指定的元素添加到数组的结尾。

    4)、AppendRep: 将指定的元素在数组结尾添加n次。

    5)、ClipHigh / ClipLow: 将数组中>= / <=threshold的值替换成above。

                  

    6)、Concatenate: 将两个数组合并。

    7)、ConstMulAdd: array = intput_array * mulConst + addConst。

                  

    8)、CopyArray: 将输入数组的全部或部分元素复制到一个新的数组。

    9)、Correlate: 关联两个数字数组并输出生成的Pearson相关系数。 如果两个数组的大小不同,则使用较小数组的大小。

                                   

            Pearson相关系数 (Pearson Correlation Coefficient)是用来衡量两个数据集合是否在一条线上面,它用来衡量定距变量间的线性关系。其范围是-1~1,0表示无相关性或出错。

            Pearson相关系数使用公式如下:

                                     

               其中,X是array_1的值,Y是array_2的值。带上横线的X和Y分别是数组的平均值。

    10)、Create: 创建一个含有n个元素的新数组并初始化为0。

    11)、CreateInf: 用传入的值创建一个新数组。

    12)、CreateRep: 创建一个含有n个元素的新数组并全部初始化为指定的值。

    13)、Difference: 将array_1中含有但array_2中没有的元素输出到新的数组中。

    14)、Erase: 删除指定索引处的元素。

    15)、EraseRange: 删除指定索引范围内的元素。

    16)、Extrema: 返回输入数组中的最大值和最小值以及对应的数组索引。

    17)、GetAt / SetAt: 获取 / 设定指定索引处元素的值。

    18)、GetRange: 输出是一个新的数组,它是输入数组的子集,包含从索引开始的Count个元素。

              包含索引处的元素。 如果请求的元素太多,则仅返回可用的数字,而不发出错误信号。 换句话说,如果第一个数组的大小小于(index + count),则生成的数组可能小于count,并且函数返回时没有错误。

    19)、SetRange: 将指定索引范围内的元素设为常量。

              wrap选项允许设置的值范围离开数组的末尾并环绕到数组的开头,就像数组是圆形而不是线性一样。 例如,这有助于抑制找到的最大曲率(使用Array:Number:Maximum),以便在对象上找到其他最大值(角)。

    19)、Insert: 在指定索引出插入新值,并将索引后边的元素后移。

    20)、InsertRep: 在指定索引处插入n个元素,并全部赋以特定的值。

    21)、Maxinum / Mininum / MeanAndVariance: 返回数组中元素的最大值、最小值、均值、方差和标准差。

    23)、Resize: 将数组长度调整为特定的长度,根据需要删除或增加元素。

    24)、Reverse: 将数组中的元素倒序输出。

    25)、Size: 返回数组的长度。

    26)、Smooth: 平滑的输入数组值,近似于高斯滤波器形状。(啥意思??没看懂)

    27)、Sort: 将数组中的元素按升序(默认)或降序进行排序。

    29)、Threshold: 将数组中>=threshold的值替换成above,其他的替换成below。

    30)、ThresholdBand: 见数组中>=high threshold的值替换成above,<low threshold的值替换成below,其他的替换成between。

 

5、Array: Point(点数组指令)

    1)、Remove Isolated Outliers删除不属于点之间最大距离度量集群的点。

                

           此函数计算点数组中每个输入点与其前后两个近邻点之间的最大距离。然后基于“容差”将距离值聚类成组。不在最大集群(组)中的输入点将被删除并放入输出“bad points”数组中。 剩余的点在“good points”输出数组中返回。 这样可以很好地去除输入点数组中的少量的孤立“噪声”点,但如果存在许多噪声点则效果不佳,因为噪声点可能形成最大的簇(组)。

   

其他同 "Array: Number(整型数组指令)"

 

 

 

 

6、Array: String(字符串数组指令)

     同 "Array: Number(整型数组指令)"

 

 

 

 

 

 

 

 

 

7、Boolean指令集

    1)、AND / OR / NOT: 与或非。

    2)、SetBoolean: 将布尔值(输出值)设定为指定的值。

    3)、XOR: 异或,如果奇数个输入为true,则为true。

 

8、Geometric指令集 

    1)、ADToLn: 根据一个弧度和一个距离(原点到直线的距离)来确定一条直线。

    2)、AngleBisect: 计算在点point2处相交的两条线之间的角平分线(从点point1到点point2的直线和从点point3到点point2的直线)。

    3)、AngleNormalize: 将角度转化成-π/2~π/2范围内的角度。

    4)、CircleBoundingBox: 求一个圆的外切正方形的四个角点(左上、左下、右上、右下)

    5)、CircleInTriangle: 求三角形的内切圆。

    6)、CircleLineIntersect: 求一条直线和一个圆的交点数量及角点坐标。

    7)、Convex Hull: 返回一个点集合的凸壳。

    8)、Curvature: 求一段曲线(点集合表示)的曲率。

    9)、Curvature-Hole: 求一段闭合曲线的曲率,并将设定曲率内的曲线用点标示出来。

    10)、LnNormalize: 使直线的斜率强制转化为-1/2*Pi~+1/2*Pi之间,使之成为一条标准直线。

    11)、LnParallel: 过一点求一条直线的平行线。

    12)、LnPerpendicular: 过一点求一条直线的垂线。

    13)、LnsBisect: 求两条直线的角平分线。

    14)、LnSet: 把一条直线指定给一个线类型变量。

    15)、LnsIntersection: 求两条直线的交点。

    16)、LnToAD: 把一条直线的斜率和距离提取出来。

            a表示直线的角度;d表示原点到直线的距离,直线在原点上方为负,下方为正,如右图所示。

                                    

            通过a和d表示直线的方程:y=tan(a)*x+d/cos(a)。

    17)、LnToLnAngle: 两条直线的夹角。

    18)、LnToLnDist: 两条直线与第三条直线的两个交点之间的距离也就是P1和P2之间的距离。

    19)、MakeAnchor: 求一个点(P1)在一个方向上,相同距离(dist)的两个对称点(P1’/P1’’)。

    20)、PtAverage: 求点集合中所有点的中点。

    21)、PtAverageInf: 求给定的一系列点的中点。

    22)、

  • 10
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值