1. PtsToBestAngle两个点形成的直线与X轴的角度
    Sherlock中Y轴是向下增加的,角度输出的坐标系是笛卡尔坐标系。 例如,一个point (100,100) 到 点 (200,200) 的角度,在笛卡尔坐标系中是-45 degrees.但是在sherlock中是45 degrees。 在笛卡尔坐标系中,逆时针增加角度,sherlock中是顺时针。指令 PtToPtAngleDist测量的角度是以笛卡尔坐标系为准的。
    PtsToBestAngle 中设置point1与point2形成的直线设置为X轴,角度定义为–π/2 to π/2 (-90 to 90 degrees)。
    这幅图显示了pt1 =(100,100)和sherlock坐标pt2显示的4个值。PtsToBestAngle角度显示在右表。。角的阴影区域显示了范围值。

小距离测量会引起误差,减少误差的办法是,x,y距离小于0.1的时候,角度设置为0.
输入:
• “pt1” [Point] - first point
• “pt2” [Point] - second point
输出:
• “angle” [Double] – Sherlock角度,顺时针是角度增加的方向。

  1. PtsToBestCircle点拟合最佳圆
    为了保证输入的圆是个标准圆,可以做按照以下方法进行筛选:

  2. 设置"percent outliers"=0 并且"preprocess"=false,

  3. 使用尽可能多的输入“点”,均匀化点,点越多越好。你通常需要16个或更多的点才可能可靠估计圆和椭圆度。
    输入:
    • “percent outliers” [Double] – 设置舍弃点的百分比
    默认值: 0
    Minimum value: 0
    Maximum value: 50
    • “points” [Point array] –用来拟合圆的点,至少需要三个点。
    • “preprocess” [Bool] - =true,可以删除一些孤立点。
    默认值: False
    • “tolerance” [Double] - 最大允许集群的中心或理想点之间的距离,最糟糕的可接受的观点。必须大于或等于零。
    默认值: 1.0
    Minimum value: 0.0
    Maximum value: double的最大值
    • “annotation color” [Double] - 最适合设置颜色和启用或禁用画圆注释。
    默认值: 0xFFFF = 65535,黄色圆.
    Minimum value: 最小设置为0。
    Maximum value: 0xFFFFFF = 16777215, 表示白色(R,G,B all = 255).
    输出:
    • “diameter” [Double] – 直径.
    • “points included” [Double] – 用来拟合圆的点.
    • “avg fit error” [Double] –点与拟合圆的之间的距离。
    • “center” [Point] – 中心点.
    • “top left” [Point] – 左上点.
    • “top right” [Point] – 右上点.
    • “bottom right” [Point] –右下点.
    • “bottom left” [Point] – 左下点.
    • “outliers” [Point array] – 被丢弃的点.
    • “points used” [Point array] – 用来拟合圆的点.
    Circularity 输出:
    • “min diameter” [Double] –最小直径.
    • “max diameter” [Double] –最大直径
    • “circularity” [Double] - 圆度
    计算公式如下:circularity = 100 * (min diameter / max diameter)
    • “ovality” [Double] – 椭圆度.如果 A = max 直径和B = min直径时, ovality = 100*(A-B)/(A+B). 这是一个标准衡量管道和其他零件椭圆测量。
    • “std deviation” [Double] - 标准偏差的距离(半径)。

  4. PtsToBestLine拟合直线
    输入:
    • “percent outliers” [Double] -通过百分比过滤点.
    默认值: 0.00 [0.00000000000000000]
    • “points” [Point array] – 数组点.
    • “preprocess” [Bool] -等于true,则利用 Remove Isolated Outliers筛除点.
    • “tolerance” [Double] -从理想的点,到最坏的情况下,允许接受的计算最大的距离,值必须大于0.
    默认值: 1.0
    输出:
    • “points included” [Double] -用来拟合直线的点.
    • “line” [Line] -拟合的直线.

  5. PtsToLnDist一个点数组到线的距离
    输入:
    • “pts” [Point array]
    • “ln” [Line]
    输出:
    • “distances” [Double array]
    • “min distance” [Double]
    • “max distance” [Double]
    • “min distance array index” [Double]
    • “max distance array index” [Double ]
    PtsToLnDistInf一个指定的点数组到线的距离
    输入:
    • “ln” [Line]
    • “point” [Point]
    Has infinite 输入
    输出:
    • “distances” [Double array]
    • “min distance” [Double]
    • “max distance” [Double]
    • “min distance array index” [Double]
    • “max distance array index” [Double]
    PtsToPtsDist一个点数组到一个点数组的距离
    输入:
    • “pts0” [Point array]
    • “pts1” [Point array]
    输出:
    • “distance” [Double array]
    • “x distance” [Double array]
    • “y distance” [Double array]

  6. Size返回数组大小
    输入:
    • “array” [Bool Array] – 新数组.
    输出:
    • “size” [Integer] – 返回数组大小.

GetAt获取指定index的元素值
输入:
• “array” [Line array] – 原数组.
• “index” [Double] –序号index.
默认值: 0.00 [0.00000000000000000]
输出:
• “value” [Line] – 返回index的数值.

Extrema返回数组中的最大值和最小值的数值和索引
输入:
• “array” [Double array] –原数组.
输出:
• “maximum value” [Double] –最大值.
• “maximum index” [Double] –最大值索引index
• “minimum value” [Double] –最小值
• “minimum index” [Double] – 最小值索引index

Maximum计算最大值数值和序号index
Input:
• “array” [Double array] – 原数组.
输出:
• “maximum value” [Double] –最大数.
• “maximum index” [Double] – 最大数的序号index.

Minimum计算最小值和序号index
Input:
• “array” [Double array] – 原数组
输出:
• “minimum value” [Double] – 最小值.
• “minimum index” [Double] – 最小值的序号index.

Reverse倒序数组的元素
Input:
• “input array” [Double array] –原数组.
Output:
• “reversed array” [Double array] –返回新的数组.

Sor数组元素排序
输入:
• “arr” [Double array] – 原数组.
• “descending” [Bool] – 排序的方向.
默认值: FALSE = 升序
TRUE =降序
输出:
• “new array” [Double array] – 返回新的数组.

sherlock常用算法指令总结相关推荐

  1. JAVA工程师常用算法_算法工程师必须要知道的8种常用算法思想

    算法思想有很多,业界公认的常用算法思想有8种,分别是枚举.递推.递归.分治.贪心.试探法.动态迭代和模拟.当然8种只是一个大概的划分,是一个"仁者见仁.智者见智"的问题. 1.1 ...

  2. 第四百一十四节,python常用算法学习

    本节内容 算法定义 时间复杂度 空间复杂度 常用算法实例 1.算法定义 算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机 ...

  3. c++ 单例模式_Java面试题总结之设计模式、网络基础、常用算法

    一.设计模式 1.单例模式 A.懒汉式 单例模式最简单的实现发现,但是不支持多线程,线程不安全 如果想线程安全,在方法上加上synchronized就可以,不过这样效率低下,99%情况都不会用到 pu ...

  4. 计算机 五大算法类型,计算机算法设计五大常用算法的分析及实例.docx

    标准化管理处编码[BBX968T-XBB8968-NNJ668-MM9N] 标准化管理处编码[BBX968T-XBB8968-NNJ668-MM9N] 计算机算法设计五大常用算法的分析及实例 摘要 算 ...

  5. 【LeetCode刷题日记】常用算法基础和理解及运用

    在我们LeetCode刷题过程中,如果我们只是了解数据结构(数组,链表,数)的使用方法,那我们在面对复杂的题目时,是很难很好的解决问题的,因此我们要了解一些常用算法来帮助我们更好的解题. 递归和迭代 ...

  6. 游戏开发常用算法 (一)

    http://blog.csdn.net/pizi0475/article/details/9771957 要使计算机能完成人们预定的工作,首先必须为如何完成预定的工作设计一个算法,然后再根据算法编写 ...

  7. 算法工程师必须要知道的8种常用算法思想

    https://www.toutiao.com/a6653981171921191432/ 算法思想有很多,业界公认的常用算法思想有8种,分别是枚举.递推.递归.分治.贪心.试探法.动态迭代和模拟.当 ...

  8. C语言常用算法 脚本之家,C/C++常用算法手册 秦姣华 中文pdf扫描版 22.5MB

    <C/C++常用算法手册>分3篇,共13章,"第1篇算法基础篇"介绍了算法概述,重点分析了数据结构和基本算法思想:"第2篇算法基本应用篇"详细讲解了 ...

  9. 集体智慧及其常用算法

    集体智慧定义 是指由许多的个体通过合作与竞争中所显现出来的智慧,集体智慧是一种共享的或者群体的智能.它是从许多个体的合作与竞争中涌现出来的.集体智慧在细菌.动物.人类以及计算机网络中形成,并以多种形式 ...

最新文章

  1. mysql发生系统错误2系统找不到指定文件_电脑运行错误代码大全,遇到报错请自己对照断电原因所在吧...
  2. 南方人物周刊:智能手机割据战
  3. html编写组织结构,编写模块化的CSS:CSS文件组织结构
  4. della计算机驱动检测,nexus6安装BPTOOLS中的diag驱动图文教程
  5. Gym - 100952H--H. Special Palindrome--dp整数划分(模板)
  6. Neurocomputing 投稿注意事项
  7. 2018 UESTC Training for Data Structures
  8. VPP-20.09版本安装教程(离线版)
  9. 杭州银行面试题【杭州多测师】【杭州多测师_王sir】
  10. 算法:两种对拼音进行智能切分的方法
  11. linux外接无线网卡,外接无线网卡+linux配置指南
  12. 了解云桌面,看这一篇文章就够了
  13. 乐得瑞推出多款USB Type-C接口方案,显示器和电视机专用
  14. 傅立叶变换的物理意义(转)
  15. linux桌面添加第三方软件图标
  16. NRF51822 2.4G无线
  17. 05.Laravel post提交失败 返419 | Page Expired
  18. html出现403错误信息,HTTP 403 错误是什么意思
  19. 网站风格变黑白的方法,用css或javascript方法将网站改为灰色
  20. 稳健估计的可靠性分析

热门文章

  1. ai生成图片是什么技术_人工智能如何学习生成猫的图片
  2. 那些外卖cps饿了么一键领取最佳红包的公众号或者小程序怎么搭建?
  3. uni-app 上架应用商店踩坑过程
  4. Java 汉语转拼音
  5. 一文弄懂Hive中谓词下推(on与where的区别)
  6. Promise封装微信小程request请求
  7. 如何计算马来西亚的每月PCB所得税
  8. 自动投票软件的编写代码
  9. unity打包的安卓无法解析_我是UNITY3D 打包成APK ,安装到手机上就直接报无法解析程序包。...
  10. 用Python进行训练/测试集分割和交叉验证