步骤:

1.打开VisionPro并加载采集的离线工件图片;

2.拖入找圆工具;

3.使用找圆工具找到工件内圆,并计算测量距离;

附代码如下:

#region namespace imports
using System;
using System.Collections;
using System.Drawing;
using System.IO;
using System.Windows.Forms;
using Cognex.VisionPro;
using Cognex.VisionPro.ToolBlock;
using Cognex.VisionPro3D;
using Cognex.VisionPro.ImageProcessing;
using Cognex.VisionPro.Caliper;

#endregion

public class CogToolBlockAdvancedScript : CogToolBlockAdvancedScriptBase
{
  #region Private Member Variables
  private Cognex.VisionPro.ToolBlock.CogToolBlock mToolBlock;
  private double              Radius = 0;
  private CogFindCircleTool   CogFindCircleToolObject;
  private CogCircle           myCircle;
  #endregion

public override bool GroupRun(ref string message, ref CogToolResultConstants result)
  {
    // To let the execution stop in this script when a debugger is attached, uncomment the following lines.
    // Run each tool using the RunTool function
    foreach(ICogTool tool in mToolBlock.Tools)
      mToolBlock.RunTool(tool, ref message, ref result);
    CogFindCircleToolObject = (CogFindCircleTool) mToolBlock.Tools["CogFindCircleTool1"];
    myCircle = CogFindCircleToolObject.Results.GetCircle();
    Radius = double.Parse(myCircle.Radius.ToString("0.00"));
    return false;
  }

#region When the Current Run Record is Created

public override void ModifyCurrentRunRecord(Cognex.VisionPro.ICogRecord currentRecord)
  {
  }
  #endregion

#region When the Last Run Record is Created
  public override void ModifyLastRunRecord(Cognex.VisionPro.ICogRecord lastRecord)
  {
    CogGraphicLabel ResultLabel = new CogGraphicLabel();
    string labelStr = string.Format("Radius={0:F2}pixel", Radius);
    ResultLabel.SetXYText(myCircle.CenterX, myCircle.CenterY, labelStr);
    ResultLabel.Color = Cognex.VisionPro.CogColorConstants.Blue;
    mToolBlock.AddGraphicToRunRecord(ResultLabel, lastRecord, "CogImageConvertTool1.OutputImage", "script");
  }
  #endregion

#region When the Script is Initialized

public override void Initialize(Cognex.VisionPro.ToolGroup.CogToolGroup host)
  {
    // DO NOT REMOVE - Call the base class implementation first - DO NOT REMOVE
    base.Initialize(host);

// Store a local copy of the script host
    this.mToolBlock = ((Cognex.VisionPro.ToolBlock.CogToolBlock)(host));
  }
  #endregion

}

VisionPro实现测量工件内圆尺寸相关推荐

  1. 调节e18-d80nk的测量距离_在线尺寸影像测量仪

    在线尺寸影像测量仪是我公司的磨刀机床专用视频显微镜.将该显微镜安装在磨刀机床上,可通过光学显微镜筒和摄像机把刀具图像放大后,再由视频信号线将其传输到电脑主机.通过电脑显示器实时观察刀具外型,通过精密测 ...

  2. 使用双视场测量工件长度尺寸

    使用双视场测量工件长度尺寸 很多二次元测量仪进行工件尺寸测量的时候,只能在视场里面测量尺寸比较小的尺寸, 如果测量比较大的尺寸的时候,往往需要移动测量仪上面的镜头,改变视场的位置,这样 测量非常费时( ...

  3. 图纸打印什么时候用蓝图_用CAD打印1:1的图纸,为何测量总是比标注尺寸少那么0.2-0.5mm...

    点击上方头条号"机械设计一点通"关注我们,每天学习一个机械设计相关知识点 在一些产品加工中,有时会遇到这样的情况,零件是不规则的,有些尺寸很难测量,需要测量检测它的尺寸就比较困难, ...

  4. 用python求解:用户分别输入外援半径和内圆半径,计算圆环的面积;及用户分别输入圆柱的底面圆半径和高,输出圆柱和表面积。(附带源码)

    用python求解:用户分别输入外援半径和内圆半径,计算圆环的面积:及用户分别输入圆柱的底面圆半径和高,输出圆柱和表面积.(附带源码) 纯分享一下平时练习题: 运算结果如下 源代码如下: import ...

  5. 有感~半导体技术之晶圆尺寸,450mm是否会来到

    在读<芯片制造:半导体工艺和设备>,得到下面"半导体产品制造技术约10年更新一代"一图,对晶圆直径的理解趋势,更认可佐藤淳一<图解入门 半导体制造工艺基础精讲&g ...

  6. 如何利用Trimble RealWorks三维激光扫描仪进行外业测量和内业处理?

    文章目录 0.引言 1.Trimble RealWorks介绍 2.外业测量 3.内业处理 0.引言   笔者所在资源与环境工程学院实验室采购有一台Trimble RealWorks三维激光扫描仪(仪 ...

  7. 基于Halcon卡尺测量: Metrology批量测量矩形和圆

    处理图如下: 原图如下: 主要思想: 1.准备一次性将图中12个圆和2个矩形都检测出来 2.初步确定12个圆的圆心坐标和半径,初步确定两个矩形的中心坐标,角度,长短边长 3.创建计量模型 4.定义计量 ...

  8. poj 1584(凸包+点在凸多边形内+圆在凸多边形内)

    题意: 按照顺时针或逆时针方向输入一个n边形的顶点坐标集,先判断这个n边形是否为凸包. 再给定一个圆形(圆心坐标和半径),判断这个圆是否完全在n边形内部. 解题思路: 1.判断该多边形是否是凸包,由于 ...

  9. android自定义控件(6)-详解在onMeasure()方法中如何测量一个控件尺寸

    今天的任务就是详细研究一下protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)方法.如果只是说要重写什么方法有什么 ...

  10. 42表盘直径是从哪测量_手表表盘尺寸怎么量

    和大多数装饰品和奢侈品一样,手表外观大小尺寸的潮流也总是在不断变化的.过去比较流行薄型的,而这几年又开始兴戴尺寸大的手表了,女表也要到直径到30mm以上,而男表40mm的也很常见.超过40mm的就属于 ...

最新文章

  1. flat在java中的含义_java – 在flatingBy中使用flatMap的优雅方法
  2. PAT题解-1118. Birds in Forest (25)-(并查集模板题)
  3. Windows MySQL8.0安装出错解决方案(Start Server 失败)
  4. Struts2 - 上传任意多个文件
  5. php的addslashes,PHP addslashes()用法及代码示例
  6. Linux内存,先看这篇文章
  7. linux文件在哪个分区,linux下肿么查看目录所在的分区
  8. sql 除以_刷完这些SQL练习题,简单查询就熟能生巧了
  9. [root@dg1 ~]# su - grid ---切换到grid用户
  10. markdown数学公式手册
  11. Nodejs学习笔记(一)——基础之全局对象、包和npm
  12. 明小子动力上传拿webshell(1).zip
  13. Android自定义printf/printk/ALOGE函数LOG_TAG
  14. Mapreduce和yarn-内存设置
  15. 收评:5月24日资金流向(摘自益盟)
  16. Froala 编辑器设置表格页脚
  17. 软件测试预演环境,什么是软件测试用例预演 有何优点?[3]
  18. 穿越(pass through)
  19. GBase 8a数据库加载流程介绍
  20. VUE Object.assign()的使用

热门文章

  1. 基于MATLAB的疲劳检测系统研究解析
  2. 《C陷阱与缺陷》学习笔记(1):这本书值得看吗?
  3. windbg分析BSOD dump文件实战
  4. win10专业版与家庭版有什么不一样
  5. 常见的U盘,内存卡修复工具及其修复方法
  6. SpringBoot+RabbitMQ 实现 RPC 调用
  7. 如何通过搜索计算机共享打印机驱动程序,怎么解决连接共享打印机时“找不到驱动程序”...
  8. LabVIEW程序测试
  9. 【opencv项目】物体检测——车牌字符模板匹配
  10. 向日葵Linux传文件,教您玩转Linux远程登录,如何用向日葵远程登录?