《机器视觉技术及其应用》(第二版)课件 模块3 项目3 脚本编程应用案例_第1页
《机器视觉技术及其应用》(第二版)课件 模块3 项目3 脚本编程应用案例_第2页
《机器视觉技术及其应用》(第二版)课件 模块3 项目3 脚本编程应用案例_第3页
《机器视觉技术及其应用》(第二版)课件 模块3 项目3 脚本编程应用案例_第4页
《机器视觉技术及其应用》(第二版)课件 模块3 项目3 脚本编程应用案例_第5页
已阅读5页,还剩55页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目3脚本编程应用案例任务1标注多个圆孔的面积任务2药物胶囊瑕疵检测任务3彩色保险丝分类统计任务4答题卡判断学习任务目录01标注多个圆孔的面积Blob分析+C#脚本标注质心与面积02药物胶囊瑕疵检测模板匹配+简单脚本+向导导出03彩色保险丝分类统计颜色匹配+遍历统计+标签旋转04答题卡判断Blob过滤+Lambda排序+自动判卷201标注多个圆孔的面积任务1任务要求与方案设计任务要求:在图像中找到所有圆孔,在每个圆孔中心标注出该圆孔的面积,结果显示在界面上。实施步骤①初始化作业编辑界面,新建C#脚本作业②添加工具块ToolBlock,链接图像③添加CogBlobTool,设置图形选项(显示质心、覆盖图)④添加C#高级脚本,编写GroupRun逻辑⑤编译运行,在每个圆孔中心标注面积4任务1实施步骤:工具块与Blob工具①初始化作业新建C#脚本作业,加载待检测图像,进入作业编辑界面。5任务1实施步骤:工具块与Blob工具②添加工具块从工具箱拖入CogToolBlock,在图像输入端子链接当前图像。6任务1实施步骤:工具块与Blob工具③Blob工具设置添加CogBlobTool;图形选项勾选"显示质心"和"覆盖图",便于观察分割结果。7任务1添加C#高级脚本89任务1编译脚本,确认是否有误10任务1运行结果1102药物胶囊瑕疵检测任务2任务要求与方案设计任务要求:检测药板上胶囊缺失和类型错放,结果显示在界面左上角,并导出为可独立双击运行的软件。实施步骤①ImageConvert:32位彩色转8位灰度图②PMAlign:抓取药板底板建立模板,图像掩模消除胶囊轮廓③Fixture:建立定位坐标系,供后续工具调用④SearchMax:模板匹配合格胶囊,对比度上限调为1.1⑤ToolBlock简单脚本判断+GraphicLabel显示结果13任务2步骤:图像转换与定位①ImageConvertCogImageConvertTool将32位彩色图转8位灰度图。大部分工具不支持彩色图像,必须先转换。14任务2步骤:图像转换与定位②PMAlign模板CogPMAlignTool抓取药板底板建立模板;用图像掩模消除胶囊轮廓,角度范围±180°。15任务2步骤:图像转换与定位②PMAlign模板CogPMAlignTool抓取药板底板建立模板;用图像掩模消除胶囊轮廓,角度范围±180°。16任务2步骤:图像转换与定位③Fixture定位CogFixtureTool建立定位坐标系,供后续SearchMax等工具调用统一坐标。17任务2步骤:模板匹配与调优④检测合格胶囊添加CogSearchMaxTool,以Fixture为坐标系,模板匹配合格胶囊位置。18任务2步骤:模板匹配与调优④检测合格胶囊添加CogSearchMaxTool,以Fixture为坐标系,模板匹配合格胶囊位置。19任务2步骤:模板匹配与调优⑤对比度调优将对比度上限调为1.1,排除不合格匹配,避免误检。20任务2步骤:模板匹配与调优⑥检测缺失胶囊复制合格SearchMax,修改模板为缺失区域;合格数+缺失数+错放数=15。21任务2简单脚本判断结果添加输入输出终端hege_num:合格胶囊数(输入)queshi_num:缺失胶囊数(输入)result:检测结果(输出)22任务2VisionPro运行结果23任务2ApplicationWizard导出软件基于QuickBuild配置快速生成完整视觉应用程序:加载.vpp文件→设置名称→配置标题→添加检测结果字段→选C#→完成,生成可独立双击运行的软件。2403彩色保险丝分类统计任务3任务要求与方案设计任务要求:统计不同颜色保险丝数量,结果显示在左上角;各保险丝附近显示颜色标签(随目标旋转)。实施步骤①初始化作业,添加工具块与PMAlign模板②中心点上移避开引脚,查找概数设20,接受阈值0.45③添加CompositeColorMatch工具,训练5种颜色④取保险丝中间部分训练,避开黑色引脚⑤编写统计脚本:遍历目标、判断颜色、标签旋转26任务3核心步骤:模板匹配①PMAlign定位模板匹配定位每个保险丝位置;中心点上移避开引脚,查找概数20,接受阈值0.45。27任务3核心步骤:模板匹配①PMAlign定位模板匹配定位每个保险丝位置;中心点上移避开引脚,查找概数20,接受阈值0.45。28任务3核心步骤:颜色训练②CompositeColorMatch多颜色匹配工具;取保险丝中间部分训练5种颜色(橙/红/蓝/浅黄/绿),避开黑色引脚。29任务3核心步骤:颜色训练②CompositeColorMatch多颜色匹配工具;取保险丝中间部分训练5种颜色(橙/红/蓝/浅黄/绿),避开黑色引脚。30任务3脚本核心逻辑①工具初始化从mToolBlock获取CogPMAlignTool和CogCompositeColorMatchTool实例。31②遍历目标用foreach遍历每个匹配目标,动态调整颜色区域位置与角度,判断颜色并计数。③标签旋转标签角度跟随保险丝旋转;用三角函数偏移50像素避免遮挡目标。任务3分类统计结果3604答题卡判断任务4任务要求与方案设计任务要求:识别答题卡,提取选项,与正确答案比对,计算正确率并标注结果,实现自动判卷。38任务4

方案实施过程图39任务4步骤:定位与仿射变换①工具链依次添加ImageConvert、PMAlign、Fixture,建立定位坐标系。40任务4步骤:定位与仿射变换①工具链依次添加ImageConvert、PMAlign、Fixture,建立定位坐标系。41任务4步骤:定位与仿射变换②仿射变换CogAffineTransformTool提取答题卡区域,消除旋转倾斜影响。42任务4步骤:定位与仿射变换②仿射变换CogAffineTransformTool提取答题卡区域,消除旋转倾斜影响。43任务4步骤:定位与仿射变换③硬阈值分段基于灰度直方图百分比确定阈值,适应光照变化;先裁剪两端2%极端像素。44任务4步骤:定位与仿射变换③硬阈值分段基于灰度直方图百分比确定阈值,适应光照变化;先裁剪两端2%极端像素。45任务4测得尺寸过滤条件过滤条件作用设置值CollectivityLabel去掉结果中的孔洞排除孔洞类标签非环形排除非目标的环形干扰结果设为小于7BoundWidth只保留答题卡圆形选项,最终保留25个目标blob设为30~35之间46任务4步骤:定位与仿射变换③硬阈值分段设置工具输出按blob质心的Y坐标升序排列,以便于后续脚本获取答题卡中各个选项blob的顺序。47任务4脚本排序逻辑分组+Lambda排序//每5个一组,组内按X坐标升序for(inti=0;i<myList.Count;i+=5){List<CogBlobResult>tmp=newList<CogBlobResult>();for(intj=i;j<i+5;j++)tmp.Add(myList[j]);tmp.Sort((m,n)=>m.CenterOfMassX.CompareTo(n.CenterOfMassX));}排序规则外层:按Y坐标升序(Blob工具输出已按Y排好),每5个一行。内层:组内按X坐标升序(从左到右)。Lambda:(m,n)=>m.X.CompareTo(n.X)匿名比较器。48任务4判卷与正确率计算①用户选择从Blob结果中按面积筛选被涂黑的选项,记录索引到user_index。49任务4判卷与正确率计算②正确答案从输入字段answer(如"BEADB")读取,字符A-E映射为对应组内索引。50任务4判卷与正确率计算③正确率对比两个索引数组,统计正确数;正确率=正确数/5×100%,左上角显示。51任务4最终运行结果52四个案例技术要点回顾案例核心工具脚本技术要点圆孔面积CogBlobTool遍历Blob结果,SetXYText在质心标注面积,AddGraphicToRun

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论