首页> 中国专利> 一种基于机器视觉检测方法的尺寸测量评分系统

一种基于机器视觉检测方法的尺寸测量评分系统

摘要

本发明为一种基于机器视觉检测方法的尺寸测量评分系统,通过设置学生、教师、游客权限的管理,并且在教师权限下设置试题制作的功能,实现对于考试题目的编辑和确定以及对放置的零件进行图像采集,完成测量;另一方面通过设置身份证信息的定时读取及时确认用户的更换;通过设置系统初次读取考试文件尺寸测量参数标志位以及系统初次获取考试信息标志位确认系统是否读取过尺寸测量参数以及考试信息。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-06-28

    公开

    发明专利申请公布

说明书

此申请专利为2020年10月15日提交的申请号为202011104917.8,名称为“一种基于机器视觉的尺寸测量评分装置及评分方法”的分案申请。

技术领域

本发明涉及图像识别领域,特别是涉及一种基于机器视觉检测方法付的尺寸测量评分系统。

背景技术

目前,国内的高等院校对于一些特定的专业会设置机械加工实训课程,其中在实训过程中或者实训的末尾一般会对学生进行考核,有一类运用广泛的考核项目就是要求学生根据题目要求设计并制作机械加工件,通过测量机械加工件的尺寸规格,按准确值、公差等指标与标准件或者要求进行比较,进而对学生的作品进行打分。目前院校内仍旧采用游标卡尺、千分尺等传统测量工具进行手工检测,得到机械加工件的尺寸规格。

采用传统的测量工具存在如下几点缺陷:1、测量对象定位需耗时;2、单个测量对象测量部位越多,耗时越长;3、长时间测量会对测量人员造成眼部疲劳等各种负担;4、测量位置由测量人员判断,因此会导致测量结果因人而异;5、测量读数也存在人为误差;6、测量数据需要测量人员手动录入及统计,耗时长,效率低,容易出错。

另一方面当前机械加工实训课程的考核测试方法不具备如下功能:1、考试试题通过服务器智能获取,保证试题的随机性;2、考试过程需根据考生身份信息绑定该考生制作零件的尺寸测量结果,保证考试成绩准确;3、测量结果根据考试要求实时测评,不需要老师手动输入考试结果,提高效率且不易出错;4、针对高校机械加工课程特有的考试场景,只需要对同一零件进行正面、侧面测量,完成测量后将测量结果上传服务器,得到考试成绩,准确高效。

因此需要一种能够实现高效、智能化对学生制作的机械零件加工件进行检测、评分的装置和方法。

发明内容

本发明的目的是解决现有技术的不足,提供一种基于机器视觉检测方法的尺寸测量评分系统,能够面向教师、学生以及游客三方面用户,分别赋予权限,并且能够准确读取图片中物体的尺寸参数,结构简单,使用方便。

一种基于机器视觉检测方法的尺寸测量评分系统,包括如下步骤:

步骤1:操作台感应操作人员的操作并根据操作人员的操作,打开软件,自动执行打开软件初始化操作;

步骤2:完成打开软件初始化操作后,操作台上的显示模块自动显示用户登录界面;其中初始的用户登录界面设置有“游客测量”按钮以及“退出系统”按钮;

步骤3:根据操作人员的操作进行用户登录;包括两种登录方式;一种是通过“游客测量”按钮,完成游客登录,进入游客测量流程;另一种是通过身份证识别,完成教师登录或者学生登录,进入对应的教师操作流程或者学生考试流程;

步骤4:操作台完成用户登录;其中若为游客测量流程以及学生考试流程则自动进入尺寸测量界面,设置参数,完成尺寸测量,结束本流程;若为教师操作流程则在用户登录界面显示教师操作面板;所述教师操作面板上设置有“下载试题”、“上传试题”以及“制作试题”的按钮;

步骤5:操作台根据操作人员的操作选择教师操作的内容;通过“下载试题”按钮,能够进入试题下载流程,完成试题下载后结束本流程;通过“上传试题”按钮,能够进入试题上传流程,完成试题上传后结束本流程;通过“制作试题”按钮,能够进入试题制作流程,进入尺寸测量界面,完成试题制作后结束本流程;

所述步骤1中,当操作台上的软件被打开时,会自动执行打开软件初始化操作;打开软件初始化操作包括读取考试文件夹,硬件初始化以及其他初始化;在操作台的软件上,设置有两个文件夹,一个是考试文件夹,另一个是教师制作试题生成的制作试题文件夹;

所述其他初始化包括登录界面的初始化以及相关变量的初始化,所述登录界面的初始化包括如下几个方面:

I、教师操作面板可见度设置:不可见;

II、游客登录和退出系统操作面板可见度设置:可见;

III、试题下载和试题上传进度显示面板可见度设置:不可见;

IV、操作过程提示框可见度设置:可见;

V、定时读取身份信息定时器使能;

VI、操作超时定时器使能。

进一步的,所述读取考试文件夹包括如下步骤:

步骤1.1:判断考试文件名记录文件是否存在;若考试文件名记录文件存在,则读取该文件内信息,读取的信息为考试文件夹的名称;若考试文件名记录文件不存在,则提示用户先从服务器下载考试试题,否则不能进行尺寸测量操作;

步骤1.2:根据考试文件名记录文件读取的考试文件夹名称判断考试文件夹是否存在,若存在说明存在考试需要的文件;若不存在,则提示用户先从服务器下载试题后才能进行尺寸测量操作;

所述考试文件夹内存储有尺寸测量所需的所有参数和工具,包括正面测量参数和侧面测量参数、正面校准参数和侧面校准参数以及制作试题工具;

所述硬件初始化包括打开相机操作,若打开相机成功,则在进入尺寸测量界面时,开启相机采图功能,进行实时采图;若打开相机失败,则提示用户相机打开不成功,同时给出相机打开失败的原因,结束步骤1并结束流程;

所述其他初始化包括界面的初始化以及相关变量的初始化,所述相关变量的初始化包括以下两个方面:

1,系统初次读取考试文件尺寸测量参数标志位的初始化;

2,系统初次获取考试信息标志位的初始化;

所述系统初次读取考试文件尺寸测量参数标志位的作用是确认是否读取过尺寸测量参数;系统初次获取考试信息标志位的作用是确认是否读取过考试信息。

进一步的,所述步骤3用户登录的过程中,在初次进入系统、教师登录操作成功、登录超时、登录异常和登录账号错误时,会定时读取身份证信息,读取身份证信息通过外接身份证阅读器实现;

在初次进入系统时,如果插入了身份证,就会根据身份证阅读器读取到的身份证信息,首先尝试教师登录;如果教师登录失败,则继续尝试学生登录,如果学生登录失败,则提示相关信息,同时重新定时读取身份证信息;如果身份证信息读取失败包括未插入身份证、身份证无法识别、身份证信息无法完成教师登录和学生登录,则只能够进行游客登录,进入游客测量流程;

所述定时读取身份证信息的步骤如下所示:

步骤2.1:身份证阅读器初始化连接;若初始化成功,进行下一步操作;若初始化失败,则提示用户确认身份证阅读器是否连接正常,同时结束本次定时读取操作;

步骤2.2:身份证阅读器和身份证之间的卡认证操作;若卡认证成功,则进行下一步操作;若卡认证失败,则提示用户身份证认证失败,同时关闭身份证阅读器连接并结束本次定时读取操作;

步骤2.3:读身份证信息;若读取成功,则将身份证信息填入界面显示,“游客测量”按钮失能,开启登录线程;若读取失败,则提示用户身份证信息读取失败,同时关闭身份证阅读器连接并结束本次定时读取操作。

进一步的,所述用户完成学生登录或者教师登录后,若在定时读取身份证信息时失败,包括未插入身份证、身份证无法识别、身份证信息无法完成教师登录和学生登录,不会改变现有的登录状态和登录权限;

若定时读取获得的身份证信息能够完成其他的教师登录或者学生登录,则切换到对应身份证信息的教师登录或者学生登录。

进一步的,所述游客测量流程包括进入尺寸测量界面,在进入尺寸测量界面前进行如下步骤:

步骤3.1:判断考试文件夹是否存在;若存在,则进行下一步操作,若不存在,则提示用户请先下载考试试题;

步骤3.2:判断是否为初次读取考试文件信息;若是,则读取考试文件信息参数后进行下一步操作,若不是,直接进行下一步操作;

步骤3.3:设置操作权限为游客权限;所述游客权限只能进行待检测零件的尺寸测量,不能进行数据上传服务器和制作试题操作;

步骤3.4:进入尺寸测量界面,设置相机开始采集图像。

进一步的,所述完成教师登录操作后开启登录过程定时器计时,对登录时间进行统计;若教师登录超时或者登录过程网络异常,使能“游客登录”按钮,重新进行身份证信息的读取;

完成教师登录后,会在用户登录界面显示教师操作面板;

所述试题下载流程之前先获取考试信息;若考试信息获取成功,则根据考试信息设置试题下载文件名和考试文件名,同时根据考试信息的压缩文件名进行试题下载;若获取考试信息失败、超时或者异常,则提示相应信息,清空身份证信息显示,重新定时读取身份证信息;

所述试题上传流程首先需要判断制作试题文件夹是否存在;若存在,则对制作试题文件夹进行压缩,显示压缩进度,压缩完成后将压缩文件上传服务器,同时根据制作试题文件内尺寸测量信息提取需测尺寸的编号和测量尺寸合格的判断依据,提取完成后上传服务器;若不存在,则提示用户;所述需测尺寸的编号和测量尺寸合格的判断依据为制作试题编辑器中编辑后提取,编辑器中设置有需要测量的尺寸和该尺寸制作合格的公差上限和公差下限;

所述试题制作流程首先判断是否读取过教师制作试题的考试文件信息;若之前未读取过教师制作试题的考试文件信息,则读取考试文件信息,然后进入尺寸测量界面,设置相机采集图像;否则直接进入尺寸测量界面,设置相机采集图像。

进一步的,所述学生登录操作完成后自动开启登录过程定时器计时,对登录时间进行统计;学生考试流程首先需要判断是否为开机初次读取考试信息和考试信息是否为空;若有一个成立,则读取考试信息;若两个都不成立,则不需要读取考试信息,可直接读取考试文件夹中的试题信息。

进一步的,所述读取考试信息包括如下步骤:若考试信息读取成功,判断开机读取的考试文件名与考试信息中的考试文件名是否相同;若名称不同,则更新考试文件名,并将考试文件名存储到考试文件名记录文件中;若名称相同,则完成考试信息读取;若考试信息读取失败,包括考试信息读取超时或者读取过程异常,则提示用户相应信息,清空界面身份信息,重新定时读取身份证信息。

进一步的,所述考试信息存在或读取成功,则判断考试文件是否存在;若考试文件不存在,则提示用户试题不存在,重新定时读取身份证信息;若考试文件存在,则判断是否为初次读取考试文件内的试题信息;若为初次读取,则读取尺寸测量相关参数,包括相机配置参数、相机校准参数、校准结果相关参数、模板信息,同时设置操作权限为学生权限;若不是初次读取,则不需读取尺寸测量相关参数;完成是否为初次读取考试文件内的试题信息的判断后,进入尺寸测量界面,开始图像采集。

本发明的有益效果为:

本发明通过设置学生、教师、游客权限的管理,并且在教师权限下设置试题制作的功能,实现对于考试题目的编辑和确定以及对放置的零件进行图像采集,完成测量;

通过设置身份证信息的定时读取及时确认用户的更换;

通过设置系统初次读取考试文件尺寸测量参数标志位以及系统初次获取考试信息标志位确认系统是否读取过尺寸测量参数以及考试信息。

附图说明

图1为本发明实施例一的整体结构图;

图2为本发明实施例一的正视图;

图3为本发明实施例一的主体部分示意图;

图4为本发明实施例一的主体部分的正视图;

图5为本发明实施例一的检测台示意图;

图6为本发明实施例一的调节步骤流程图;

图7为本发明实施例一的流程详图;

图8为本发明实施例一的流程简图;

图9为本发明实施例一的提取模板源图特征信息的流程图;

图10为本发明实施例一的提取模板源图圆测量类型测量结果的流程图;

图11为本发明实施例一的提取模板源图线测量类型测量结果的流程图;

图12为本发明实施例一的提取模板源图角测量类型测量结果的流程图;

图13为本发明实施例一的获取畸变参数算法流程图;

图14为本发明实施例一的获取放大率算法流程图;

图15为本发明实施例一的待检测零件出界检测算法流程图;

图16为本发明实施例一的待检测零件尺寸测量算法总流程;

图17为本发明实施例一的物体查找和匹配算法流程图;

图18为本发明实施例一的待检测零件圆测量算法流程图;

图19为本发明实施例一的待检测零件线测量算法流程图;

图20为本发明实施例一的待检测零件角测量算法流程图;

图21为本发明实施例一的圆、线、弧、角四种测量类型的掩膜图示例;

图22为本发明实施例一的步骤4.7.11中图像相与示意图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

实施例一:

如图1所示,一种基于机器视觉的可调尺寸测量仪,包括操作台2、检测台3、光源4以及相机5。所述检测台3的中间部位设置有通孔,在通孔处设置有载物板32,载物板32为透明材质;光源4设置于载物板32下方,与载物板32对应设置;相机5设置于载物板32的正上方,相机5位于相机固定板11上;操作台2与光源4以及相机5电性连接,操作台2能够控制光源4以及相机5的动作。

如图2所示,所述检测台3、光源4以及相机5设置于固定架1上,固定架1整体呈直四棱柱形,并且内部中空,固定架设置在光学隔震台12上方,通过光学隔震台12降低重心,达到隔离外部震动的目的。光学隔震台12的底部的四个角上的设置有福马轮。

所述相机5的镜头处设置有远心同轴镜头51,所述远心同轴镜头51的侧面设置有He-Ne激光器52,目的是便于将相机5、标准平晶65和载物板32调节到设定状态。

如图3、4所示,所述相机5和检测台3之间设置有标准平晶65,标准平晶65设置于滑轨调节装置6上,标准平晶65的上表面和下表面之间保持设定的夹角,在本实施例中标准平晶65的下表面都设置有增强透射膜,保证透射光强充足。其中在载物板32的上表面设置有增强反射膜。滑轨调节装置6位于相机5和检测台3的侧面,滑轨调节装置6包括竖板61和水平板62。竖板61穿过检测台3;竖板61靠近检测台3的一面设置有两条相互平行的竖直轨道,水平板62设置于竖板61的竖直轨道上。水平板62靠近检测台3的一面设置有水平轨道,标准平晶65设置于水平轨道上,通过调节标准平晶65在水平轨道上的位置以及水平板62在竖直轨道上的位置实现对于标准平晶65的位置调节。通过获取透过标准平晶65的图像能够检测待检测零件的平整程度。竖板61的顶端设置有相机支撑板63,竖板61的底部设置有光源支撑板64,其中相机支撑板63和光源支撑板64相互平行且水平设置,相机支撑板63、光源支撑板64与竖板61一体制成,并且在光源支撑板64与竖板61之间的夹角部位设置有支撑结构。相机支撑板63与相机5固定连接,光源支撑板64与光源4固定连接。其中相机支撑板63还与相机固定板11贴合,相机支撑板63位于相机固定板11的下表面,相机固定板11也用于固定相机5,相机固定板11设置于固定架1。

所述检测台3上设置有支架34,支架34位于载物板32上,支架34采用透明的材料制成,用于固定待检测零件,避免待检测零件发生偏移。支架34整体呈直四棱柱形,支架34的中间部位设置有凹槽。支架34的顶部能够使待检测零件水平设置,进而使相机5获取待检测零件的正面图像;支架34的凹槽部位能够使待检测零件竖直设置,进而使相机5获取待检测零件的侧面图像。支架34的凹槽的深度由待检测零件的宽度和厚度的差值决定,通过设置支架以及支架上的凹槽,保证待检测零件的正面朝上设置和侧面朝上设置时,采集的图像所处的高度相近,保证相机的图像放大率一致。

所述检测台3设置于固定架1上,检测台3和固定架1之间设置有垂直高精度调节滑轨35,垂直高精度调节滑轨35位于检测台3的四个角上。通过调节垂直高精度调节滑轨35能够实现对于检测台3整体的高度和倾斜角度的调节。

所述相机固定板11和检测台3之间设置有激光测距装置31,通过激光测距装置31能够检测相机固定板11和检测台3之间的距离。激光测距装置31包括激光测距传感器发射头和激光测距接收器,其中激光测距接收器设置于检测台3的四个角上,激光测距传感器发射头设置于用于相机固定板11下表面的四个角上,其中激光传感器发射头正对激光测距接收器设置。

所述载物板32和检测台3之间设置有微调节旋钮33,通过调节微调节旋钮33能够实现对于载物板32的高度和倾斜角度的调节。

如图5所示,所述检测台3上还设置有透明棋盘格36,透明棋盘格36与载物板32相邻设置。通过透明棋盘格36能够实现对于相机5的准确调焦。检测台3上还设置有身份证阅读器37。

所述操作台2设置于相机固定板11的上方,操作台2包括显示模块21,能够显示检测的结果以及过程。

在实施的过程中通过激光测距装置31,对垂直高精度调节滑轨35进行调节,实现相机固定板11与检测台3之间的平行;通过He-Ne激光器52发射激光光束透过远心同轴镜头51,入射到标准平晶65的上表面,并从标准平晶65的下表面投射出,到达载物板32,其中在标准平晶65的下表面和载物板32的上表面形成明暗相间的干涉条纹,根据条纹样式,调节微调节旋钮33,实现标准平晶65下表面和载物板32之间的平行。完成调节后获取待检测零件的正面和侧面图像,将图像上传到操作台2,以完成对待检测零件的检测。

如图6所示,一种尺寸测量评分装置的调节测量方法,包括如下步骤:

步骤一:将相机和光源分别固定设置于相机固定板和光源支撑板;在载物板上设置有支架以及待检测零件;打开光源,根据相机连续采集获取的图像清晰程度,调节四个垂直高精度调节滑轨,使图像清晰;

步骤二:根据激光测距装置中四束激光传感器获得的四组数据,不断调节所述四个垂直高精度调节滑轨,使得四组数据相等,相机固定板和检测台平行;

步骤三:将支架和待检测零件从检测台取下;调节滑轨调节装置上面的水平与垂直调节滑轨,使标准平晶正对载物板并间隔设定距离,关闭光源,打开He-Ne激光器调节标准平晶的下表面与载物板的上表面平行;

步骤四:关闭He-Ne激光器,打开光源,移开标准平晶;将支架设置于载物板上方的设定位置,在支架上方设置透明棋盘格,采集图像,校准平场和计算图像放大率;

步骤五:取下透明棋盘格,放置待检测零件,使待检测零件正面朝上,相机获取图像,完成正面长宽及正面内部项目的尺寸测量;

步骤六:将待检测零件侧面朝上放入支架凹槽内,相机获取图像,完成侧面高度信息测量,结束步骤。

所述步骤三中调节标准平晶的下表面与载物板的上表面平行,首先需要使He-Ne激光器发出的光线通过相机获得干涉条纹,干涉条纹经过处理后,获得相邻干涉条纹的信息差值,根据差值不断调节四枚微调节旋钮,直至相邻干涉条纹的信息差值减小至设定值,使干涉条纹近似平行等间距,则说明标准平晶的下表面与载物板的上表面近似平行。

如图7、8所示,一种基于机器视觉的尺寸测量评分方法,包括如下步骤:

步骤1:操作台感应操作人员的操作并根据操作人员的操作,打开软件,自动执行打开软件初始化操作;

步骤2:完成打开软件初始化操作后,操作台上的显示模块自动显示用户登录界面;其中初始的用户登录界面设置有“游客测量”按钮以及“退出系统”按钮;

步骤3:根据操作人员的操作进行用户登录;包括两种登录方式;一种是点击通过“游客测量”按钮,完成游客登录,进入游客测量流程;另一种是通过身份证识别,完成教师登录或者学生登录,进入对应的教师操作流程或者学生考试流程;

步骤4:操作台完成用户登录;其中若为游客测量流程以及学生考试流程则自动进入尺寸测量界面,设置参数,完成尺寸测量,结束本流程;若为教师操作流程则在用户登录界面显示教师操作面板;所述教师操作面板上设置有“下载试题”、“上传试题”以及“制作试题”的按钮;

步骤5:操作台根据操作人员的操作选择教师操作的内容;若通过点击“下载试题”按钮,则能够进入试题下载流程,完成试题下载后结束本流程;若点击通过“上传试题”按钮,则能够进入试题上传流程,完成试题上传后结束本流程;若通过点击“制作试题”按钮,能够则进入试题制作流程,进入尺寸测量界面,完成试题制作后结束本流程。

所述步骤1中当操作台上的软件被打开时,会自动执行打开软件初始化操作,其中打开软件初始化操作包括读取考试文件夹,硬件初始化以及其他初始化。需要说明的是在操作台的软件上,设置有两个与本实施例相关的文件夹,一个是考试文件夹,另一个是教师制作试题生成的制作试题文件夹,在本实施例中制作试题文件夹名称为ExaminationFiles,该文件夹名称保持不变。在教师制作完试题后可进行测试和上传试题。

所述读取考试文件夹包括如下步骤:

步骤1.1:判断考试文件名记录文件ExaminationFileName.txt是否存在。若ExaminationFileName.txt文件存在,则读取该文件内信息,读取的信息为考试文件夹的名称。若ExaminationFileName.txt文件不存在,则提示用户先从服务器下载考试试题,否则不能进行尺寸测量操作。

步骤1.2:根据ExaminationFileName.txt读取的考试文件夹名称判断考试文件夹是否存在,若存在考试文件夹,说明存在考试需要的文件;若不存在,则提示用户先从服务器下载考试试题,否则不能进行尺寸测量操作。

因为考试文件夹的名称是随机生成的,因此需要通过考试文件名记录文件进行记录,用于查找考试文件夹是否存在;另一方面存在考试文件名记录文件,不代表考试文件夹一定存在,考试文件名记录文件仅用于查找考试文件夹。所述考试文件夹内存储有尺寸测量所需的所有参数和工具,包括正面测量参数和侧面测量参数、正面校准参数和侧面校准参数以及制作试题工具。需要说明的是,读取考试文件夹为预读取,目的是为了能够在后续尺寸测量时快速地加载,提高效率,在实际测量时还会结合用户的权限再进行考试文件夹内具体存储信息的读取。

所述硬件初始化包括打开相机操作,若打开相机成功,则在进入尺寸测量界面时,开启相机采图功能,进行实时采图;若打开相机失败,则提示用户相机打开不成功,同时给出相机打开失败的原因,结束步骤1并结束流程,用户需解决相机打开失败的问题后才能进入后续步骤2。

所述其他初始化包括登录界面的初始化以及相关变量的初始化,所述登录界面的初始化包括如下几个方面:

I、教师操作面板可见度设置:不可见;

II、游客登录和退出系统操作面板可见度设置:可见;

III、试题下载和试题上传进度显示面板可见度设置:不可见;

IV、操作过程提示框可见度设置:可见;

V、定时读取身份信息定时器使能;

VI、操作超时定时器使能。

所述相关变量的初始化包括以下两个方面:

1,系统初次读取考试文件尺寸测量参数标志位的初始化,在本实施例中设置为true。

2,系统初次获取考试信息标志位的初始化,在本实施例中设置为true。

其中系统初次读取考试文件尺寸测量参数标志位的作用是确认是否读取过尺寸测量参数,若读取过,则该标志为设置为false,此时用户登录后不需要再读取参数,只需在每次试题下载更新尺寸测量参数。系统初次获取考试信息标志位的作用是确认是否读取过考试信息,比如用户初次登录时,若之前未读取考试信息,此时系统初次获取考试信息标志位为true,需读取考试信息,在下载试题的同时会读取考试信息,完成试题和考试信息的下载后该标志位设置为false;其中考试信息是用于记录考试文件夹信息的文件,考试信息包括考试文件名记录文件。

所述步骤3用户登录的过程中,在初次进入系统、教师登录操作成功、登录超时、登录异常和登录账号错误时,都会定时读取身份证信息,读取身份证信息通过外接身份证阅读器实现,在本实施例中定时时间设置为500毫秒。定时读取身份证信息的目的是能够对新的身份证信息做出及时的反应。

在初次进入系统时,如果插入了身份证,就会根据身份证阅读器读取到的身份证信息,首先尝试教师登录;如果教师登录失败,则继续尝试学生登录,如果学生登录失败,则提示相关信息,同时重新定时读取身份证信息。如果初次进入系统时身份证信息读取失败包括未插入身份证、身份证无法识别、身份证信息无法完成教师登录和学生登录等,则只能够进行游客登录,进入游客测量流程。需要说明的是在用户完成学生登录或者教师登录后,即便在定时读取身份证信息时失败包括未插入身份证、身份证无法识别、身份证信息无法完成教师登录和学生登录等,也不会改变现在的登录状态和登录权限,除非定时读取获得的身份证信息能够完成其他的教师登录或者学生登录,则切换到对应身份证信息的教师登录或者学生登录。

其中定时读取身份证信息的步骤如下所示:

步骤2.1:身份证阅读器初始化连接;若初始化成功,进行下一步操作;若初始化失败,则提示用户确认身份证阅读器是否连接正常,同时结束本次定时读取操作。

步骤2.2:身份证阅读器和身份证之间的卡认证操作;若卡认证成功,则进行下一步操作;若卡认证失败,则提示用户身份证认证失败,同时关闭身份证阅读器连接并结束本次定时读取操作。

步骤2.3:读身份证信息;若读取成功,则将身份证信息填入界面显示,“游客测量”按钮失能,自动开启登录线程;若读取失败,则提示用户身份证信息读取失败,同时关闭身份证阅读器连接并结束本次定时读取操作。

所述步骤4中游客测量流程需要进入尺寸测量界面,其中在进入尺寸测量界面前进行如下步骤:

步骤3.1:判断考试文件夹是否存在;若存在,则进行下一步操作,若不存在,则提示用户请先下载考试试题;

步骤3.2:判断是否为初次读取考试文件信息;在本实施例中表现为系统初次获取考试信息标志位是否为true,若是,则读取考试文件信息参数后进行下一步操作,若不是,直接进行下一步操作;

步骤3.3:设置操作权限为游客权限;所述游客权限只能进行待检测零件的尺寸测量,不能进行数据上传服务器和制作试题操作;

步骤3.4:进入尺寸测量界面,设置相机开始采集图像。

所述步骤4中,学生登录后进入学生考试流程,首先自动开启登录过程定时器计时,对登录时间进行统计。所述学生考试流程需要判断是否为开机初次读取考试信息和考试信息是否为空;若有一个成立,则读取考试信息;若两个都不成立,则不需要读取考试信息,可直接读取考试文件夹中的试题信息。

所述读取考试信息包括如下步骤:若考试信息读取成功,判断开机读取的考试文件名与考试信息中的考试文件名是否相同;若名称不同,则更新考试文件名,并将考试文件名存储到考试文件名记录文件中;若名称相同,则完成考试信息读取;若考试信息读取失败,包括考试信息读取超时或者读取过程异常,则提示用户相应信息,清空界面身份信息,重新定时读取身份证信息。

当考试信息存在或读取成功时,则判断考试文件是否存在。若考试文件不存在,则提示用户试题不存在,重新定时读取身份证信息;若考试文件存在,则判断是否为初次读取考试文件内的试题信息。若为初次读取,则读取尺寸测量相关参数,包括相机配置参数、相机校准参数、校准结果相关参数、模板信息,同时设置操作权限为学生权限;若不是初次读取,则不需读取尺寸测量相关参数。在完成是否为初次读取考试文件内的试题信息的判断后,进入尺寸测量界面,开始图像采集。在本实施例中考试文件包括考试文件夹。

若学生登录操作未完成,包括登录超时或者登录异常,则提示相关信息,同时重新定时读取身份证信息。

其中操作权限为学生权限时,具有提交答案并返回用户登录界面的功能,当用户权限为教师或者游客时,只有返回用户登录界面功能。

所述步骤5中完成教师登录操作后开启登录过程定时器计时,对登录时间进行统计。若教师登录超时或者登录过程网络异常,则使能“游客登录”按钮,重新进行身份证信息的读取。

所述教师操作包括试题下载流程、试题上传流程以及试题制作流程。在本实施例中,完成教师登录操作后,不会立即跳转到尺寸测量界面,而是在用户登录界面显示教师操作面板,教师操作面板上设置有“下载试题”、“上传试题”以及“制作试题”的按钮,分别对应试题下载流程、试题上传流程以及试题制作流程。

若用户点击“下载试题”按钮,则“下载试题”、“上传试题”、“制作试题”和“游客测量”按钮失能。操作台的显示模块上跳出提示框,显示“下载试题中,请稍候!”,开启下载试题线程,同时进行下载试题定时时间统计。需要说明的是在下载试题前会先获取考试信息。若考试信息获取成功,则根据考试信息设置试题下载文件名和考试文件名,同时根据考试信息的压缩文件名进行试题下载;若获取考试信息失败、超时或者异常,则提示相应信息,清空身份证信息显示,重新定时读取身份证信息。下载过程显示下载进度,试题下载完成后,则自动解压考试文件,读取考试文件信息,同时提示试题下载成功。读取的考试文件信息包括:

a.相机配置参数和相机校准参数;

b.校准结果相关参数;

c.模板信息。

若用户点击“上传试题”按钮,则进入试题上传流程。所述试题上传流程首先需要判断制作试题文件夹是否存在;若存在,则对制作试题文件夹进行压缩,显示压缩进度,压缩完成后将压缩文件上传服务器;同时根据制作试题文件内尺寸测量信息提取需测尺寸的编号和测量尺寸合格的判断依据,提取完成后上传服务器。若不存在,则提示用户“试题不存在,请先制作试题!”。其中需测尺寸的编号和测量尺寸合格的判断依据为制作试题编辑器中编辑后提取,在编辑器中会设置需要测量的尺寸和该尺寸制作合格的公差上限和公差下限。

若用户点击“制作试题”按钮,若之前未读取过教师制作试题的考试文件信息,则读取考试文件信息,同时设置操作权限为教师权限,教师权限可进行试题制作和制作试题的零件尺寸测量;打开尺寸测量界面,设置相机开始采集图像,设置参数,完成试题制作。需要说明的是以教师权限进入的尺寸测量界面是通过制作试题文件夹中存储的信息进行零件测量;其他权限,包括学生权限和游客权限,进入的尺寸测量界面都是使用考试文件夹内存储的信息进行尺寸测量。

在用户登录界面和尺寸测量界面中,都可以进行退出系统操作。当在这两个界面中点击“退出系统”按钮后,提示用户是否确定退出系统,若用户选择是,则退出系统。

一种基于机器视觉的尺寸测量评分系统,包括尺寸测量界面,尺寸测量界面设置有“系统设置”按钮、“正面测量”按钮以及“侧面测量”按钮。尺寸测量界面能够完成参数配置、试题制作、模板校准以及尺寸测量的功能,其中“参数配置”、“试题制作”以及“模板校准”设置于尺寸测量界面的“系统设置”按钮对应的名录下,进入系统设置需要输入密码,只有输入正确的密码才能够进行参数配置、试题制作以及模板校准的操作,其中试题制作功能只有教师权限可以操作;点击“正面测量”按钮或者“侧面测量”按钮,系统进行尺寸测量流程;尺寸测量界面还设置有“退出系统”按钮,点击“退出系统”按钮后,提示用户是否确定退出系统,若用户选择是,则退出系统。其中学生权限进入的尺寸测量界面还设置有“提交答案”按钮,点击“退出系统”按钮后,提示用户是否确定提交答案,若用户选择是,则提交答案,包括上传图片、分数等,退出系统。

所述“参数配置”按钮被点击后会弹出参数设置对话框,参数设置对话框设置有相机参数配置、校准参数配置以及数据统计的功能。相机参数配置包括像素合并、采集帧率、处理帧率和曝光量的设置。校准参数配置包括横向点数、纵向点数和单位间距的设置。数据统计包括图片张数和滤波系数的设置。

所述“试题制作”按钮被点击后会弹出试题制作对话框,在试题制作对话框能够完成正面试题制作以及侧面试题制作,其中正面试题制作对应待检测零件的正面,侧面试题制作对应待检测零件的侧面。正面试题制作以及侧面试题制作分别对应试题制作对话框设置的“正面”按钮以及“侧面”按钮。点击试题制作对话框中的“正面”或者“侧面”按钮,进入试题制作流程,试题制作流程包括如下步骤:

步骤4.1:获取当前相机采集的实时图,打开试题制作对话框,并实时图传入;

步骤4.2:进行试题制作,包括可进行各种尺寸测量类型的任务编辑,可设置测量的最大公差上限和最大公差下限;

步骤4.3:退出试题制作对话框时,进行试题模板信息提取,同时对模板源图进行尺寸测量;模板源图表示标准件在相机的视场范围内任意摆放时的图像;

步骤4.4:保存相关测量结果,实时尺寸测量中使用。

需要说明的是在相机采集实时图像之前,系统会引导待检测零件的摆放。引导待检测零件摆放的过程如下:尺寸测量界面图像显示窗口显示基于模板源图图像的引导图,引导用户将物件相应测量面朝上,摆放到合适区域范围。引导待检测零件的摆放能够防止测量面出错,也有利于下一步的测量。所述引导图的制作流程包括:

步骤4.1.1:将模板源图图像中每个像素点灰度值取原值的80%;

步骤4.1.2:将同样大小的空白图像(其每个像素的灰度值为最大值255)中每个像素点灰度值取原值的20%;

步骤4.1.3:将两张图像按灰度值叠加,得到引导图;其中灰度值为0的像素点显示纯黑,灰度值为255的像素点显示纯白。

如图21所示,所述步骤4.2中各种尺寸测量的类型任务编辑包括圆、线、弧、角四种基本元素的测量类型编辑,得到相应的掩膜特征信息,即掩膜图。其中圆、线、弧以及角元素测量类型的线宽能够调节,在掩膜图中显示为白色区域;完成线宽的调节后输出相应特征信息。

所述圆测量类型任务编辑包括如下步骤:

步骤4.2.1:确定测量类型名称;

步骤4.2.2:确定测量开关值、圆半径准确值、公差上限、公差下限;上述参数由用户输入;

步骤4.2.3:确定中心坐标、宽度、高度以及半径;上述参数按编辑时用最小线宽绘制测量类型图形所对应的矢量信息计算所得。

所述线测量类型任务编辑包括如下步骤:

步骤4.3.1:确定测量类型名称;

步骤4.3.2:确定测量开关值、圆半径准确值、公差上限、公差下限;上述参数由用户输入;

步骤4.3.3:确定倾斜角、直线段长度以及两端点坐标;上述参数按编辑时用最小线宽绘制测量类型图形所对应的矢量信息计算所得。

所述弧测量类型任务编辑包括如下步骤:

步骤4.4.1:确定测量类型名称;

步骤4.4.2:确定测量开关值、圆半径准确值、公差上限、公差下限;上述参数由用户输入;

步骤4.4.1:确定圆弧半径、圆弧角度以及三个点坐标,其中两个点位于圆弧始末端点处,另一个点位于别处;上述参数按编辑时用最小线宽绘制测量类型图形所对应的矢量信息计算所得。

所述角测量类型任务编辑包括如下步骤:

步骤4.5.1:确定测量类型名称;

步骤4.5.2:确定测量开关值、圆半径准确值、公差上限以及公差下限;上述参数由用户输入;

步骤4.5.3:确定夹角、构成夹角的三个点坐标,其中一个点位于夹角顶点;上述参数按编辑时用最小线宽绘制测量类型图形所对应的矢量信息计算所得。

通过圆、线、弧以及角四种基本元素的组合能够得到两点间距、点到线间距、两直线段间距等组合测量类型。所属两点间距包括:圆心距、圆心与弧心的间距、弧心距、圆心与夹角顶点的间距、弧心与夹角顶点的间距、两夹角顶点间距等;所属点到线间距包括:圆心到直线间距、弧心到直线间距、夹角顶点到直线间距等。

所述两点间距测量算法为先分别求出两点坐标,再求两点间距。所述点到直线间距测量算法为先分别求出点坐标和直线段两端点坐标,再求点到该直线段间距。所述两直线段间距测量算法为先分别求出两条直线段的端点坐标,接着求一条直线段两端点分别到另一条直线段的距离,再将所求得的两个距离相加取平均值即为两直线段间距。

在本实施例中圆、线、弧以及角四种基本元素的测量数据实时进行显示,其中圆测量类型实时显示中心坐标和半径值,直线测量类型实时显示倾斜角和长度值,弧测量类型实时显示圆弧角度,角测量类型实时显示夹角度数。完成上述圆、线、弧以及角测量类型任务编辑能够得到对应的掩膜特征信息。

如图9所示,所述步骤4.4中试题模板信息提取包括如下步骤:

步骤4.6.1:对模板源图进行均值滤波处理;本实施例均值滤波窗口大小取5*5;所述模板源图为相机获得的标准件正面以及侧面的图像;

步骤4.6.2:进一步进行阈值化处理;阈值化处理为大于设定阈值的像素灰度值被设置为0,反之,则被设置为255;本实施例中阈值取100;

步骤4.6.3:提取模板源图中标准件的外轮廓点;

步骤4.6.4:求外轮廓的最小外接圆,得到圆心坐标和半径;

步骤4.6.5:根据所求圆心坐标和半径,提取ROI;此ROI为一个矩形,其边长为模板源图中标准件的最小外接圆直径,其中心为标准件最小外接圆圆心,其旋转角度为零;ROI表示感兴趣区域

步骤4.6.6:对ROI提取层级轮廓信息,层级轮廓信息包括外轮廓信息和内轮廓信息,且外轮廓与内轮廓满足父子层级关系;若外轮廓与内轮廓满足父子层级关系,则外轮廓为父轮廓,内轮廓为子轮廓;

步骤4.6.7:求其外轮廓的零旋转度角最小外接矩形,得到矩形长宽,判断此矩形的长或宽是否大于设定值;在本实施例中表现为长是否大于ROI的行数减2,宽是否大于ROI的列数减2;

步骤4.6.8:若矩形的长或宽大于设定值,则标准件出界,跳转到步骤4.6.16;

步骤4.6.9:若矩形的长或宽没有大于设定值,则求外轮廓的质心、最小外接矩形,得到矩形中心坐标、旋转角度、长宽、面积;接着判断是否存在内轮廓;

步骤4.6.10:若不存在内轮廓,跳转到步骤4.6.16;

步骤4.6.11:若存在内轮廓,再判断是否只有一个有效内轮廓;

步骤4.6.12:若只有一个有效内轮廓,则求得质心、最小外接矩形中心坐标、旋转角度、长宽、面积,跳转到步骤4.6.16;

步骤4.6.13:若存在多个有效内轮廓,则遍历全部有效内轮廓,求出内轮廓最小外接矩形面积的最大值和最小值,并比较最大值和最小值的差值是否大于设定值;在本实施例中设定值取10个像素平方和;

步骤4.6.14:若最小外接矩形面积的最大值和最小值的差值大于设定值,则表明既有最大内轮廓,又有最小内轮廓;分别求得它们的质心、最小外接矩形中心坐标、旋转角度、长宽、面积,跳转到步骤4.6.16;

步骤4.6.15:若最小外接矩形面积的最大值和最小值的差值小于等于设定值,标明标准件存在多个有效最大内轮廓,任意取其一,求得质心、最小外接矩形中心坐标、旋转角度、长宽、面积,跳转到步骤4.6.16;

步骤4.6.16:根据圆、线、弧以及角测量类型任务编辑信息,提取圆、线、弧以及角测量类型特征信息;

步骤4.6.17:结束试题模板信息提取流程。

如图10所示,所述步骤4.6.16中,提取模板源图中圆测量类型信息的流程包括如下步骤:

步骤4.7.1:根据任务编辑得到的对应圆测量类型掩膜特征信息,在模板源图中提取圆测量类型ROI;

步骤4.7.2:将ROI灰度图进行滤波处理,所述滤波处理为高斯滤波处理;本实施例中高斯滤波处理的滤波窗口大小为5*5,标准差取2;

步骤4.7.3:对滤波后的图像进行霍夫找圆处理,得到若干个圆;

步骤4.7.4:将步骤4.7.3得到的圆分别与选取的掩膜圆的圆心比较,判断圆心偏移是否小于设定值;本实施例中该设定值取2mm;

步骤4.7.5:若圆心偏移大于等于设定值,改变霍夫找圆阈值参量阈值,跳转到步骤4.7.3;所述改变霍夫找圆参量阈值是指减小该参量阈值,在后续的流程和步骤中也相同,该参量阈值表示霍夫梯度法找圆此检测方法在检测阶段圆心的累加阈值,改变霍夫找圆参量阈值越小,就越可以检测到更多不存在的圆,而该阈值越大的话,能通过检测的圆更接近完美的圆形;本实施例中该阈值的范围是5个像素到对应掩膜圆周长的1/5,每执行一次,该值减小5个像素;

步骤4.7.6:若圆心偏移小于设定值,筛选出模板源图与掩膜圆半径绝对差值最小的霍夫拟合圆,进入步骤4.7.7;

步骤4.7.7:与掩膜圆半径比较,判断半径绝对差值是否小于设定值;本实施例中该设定值取2mm;

步骤4.7.8:若半径绝对差值大于等于设定值,改变霍夫找圆阈值参量阈值,跳转到步骤4.7.3;

步骤4.7.9:若半径绝对差值小于设定值,则已找到合适霍夫拟合圆;

步骤4.7.10:对ROI灰度图运用Canny算子进行边缘检测;

步骤4.7.11:将Canny处理后的ROI图像和掩膜ROI图像相与;所述相与算法是指ROI图像中经过Canny边缘检测处理得到的边缘点在掩膜ROI图像中已绘制的白色圆环内的被保留,其余点被剔除,如图22所示;

步骤4.7.12:提取相与后图像的待测边缘轮廓点;

步骤4.7.13:根据轮廓点到该霍夫拟合圆的距离,筛选出合适的轮廓点,组成新轮廓点集;

步骤4.7.14:对新轮廓点集运用最小二乘法进行拟合圆,求得圆心和半径;

步骤4.7.15:结束本流程。

需要说明的是提取模板源图中弧测量类型信息的流程与提取模板源图中圆测量类型信息的流程一致,区别仅在与提取的ROI不同。

需要说明的是可能存在多个圆测量类型的掩膜特征信息,对于每个圆测量类型的掩膜特征信息都单独进行上述的测量流程;对于弧、线以及角测量类型的掩膜特征信息也是单独进行测量流程。

如图11所示,所述步骤4.6.16中,提取模板源图中线测量类型信息的流程包括如下步骤:

步骤4.8.1:根据任务编辑得到的对应线测量类型掩膜特征信息,在模板源图中提取直线测量类型ROI;

步骤4.8.2:对ROI灰度图运用Canny算子进行边缘检测;

步骤4.8.3:对Canny处理后的图像进行霍夫找直线处理,得到若干条直线段;

步骤4.8.4:将步骤4.8.3得到的直线段与掩膜直线段倾斜角比较,判断倾斜角偏移是否小于设定值;本实施例中该设定值取7.5度;

步骤4.8.5:若倾斜角偏移大于等于设定值,改变霍夫找直线参量阈值,跳转到步骤4.8.3执行,所述霍夫找直线参量包括累加平面的阈值参数、最低线段长度、最大成线间距;累加平面的阈值参数表示识别某部分为图中的一条直线时它在累加平面中必须达到的值;最大成线间距表示允许将同一行点与点之间连接起来的最大的距离;本实施例中,累加平面的阈值参数阈值表达式为160-2*M,最低线段长度阈值表达式为80-M,最大成线间距阈值表达式为36-2*q,其中0≤M<71,0≤Q<16,M的初值为0,Q的初值为0,每执行一次步骤c,M加5,Q加1;

步骤4.8.6:若倾斜角偏移小于设定值,则从满足斜角偏移的直线段中筛选出长度最长的直线段;

步骤4.8.7:将Canny处理后的ROI图像和掩膜ROI图像相与;

步骤4.8.8:提取相与后图像的待测边缘轮廓点;

步骤4.8.9:根据轮廓点到该霍夫拟合直线段的距离,筛选出合适的轮廓点,组成新轮廓点集;

步骤4.8.10:对新轮廓点集运用最小二乘法进行拟合直线,求得倾斜角和直线段两端点坐标;

步骤4.8.11:结束本流程。

如图12所示,所述步骤4.6.16中,提取模板源图中角测量类型信息的流程包括如下步骤:

步骤4.9.1:根据任务编辑得到的对应角测量类型的掩膜特征信息,在模板源图中提取角测量类型ROI;

步骤4.9.2:对模板源图中的ROI灰度图运用Canny算子进行边缘检测;

步骤4.9.3:对Canny处理后的图像进行霍夫找直线处理,在模板源图中得到若干条直线段;

步骤4.9.4:根据掩膜角中形成夹角的两条直线段的斜角,包括第一条直线段的斜角和第二条直线段的斜角,从步骤4.9.3得到的若干条直线段中筛选出两组直线段,分别为第一组直线段和第二组直线段,其中第一组直线段中直线段的斜角与掩膜角中的第一条直线段斜角的差值绝对值小于设定值,在本实施例中为7.5度,第二组直线段中直线段的斜角与掩膜特征信息中的第二条直线段斜角的差值绝对值小于设定值,在本实施例中为7.5度;若筛选出的每组直线段至少包括一条直线段,表示筛选成功,否则筛选失败;

步骤4.9.5:若步骤4.9.4没有筛选成功,改变霍夫找直线参量,跳转到步骤4.9.3执行;

步骤4.9.6:若步骤4.9.4筛选成功,则分别计算掩膜角中任意一条直线段的端点到另一条直线段的距离,该端点为远离夹角的一端,得到两个距离值,取其中的较小距离值D;遍历步骤4.9.4得到的第一组直线段,筛选出直线段到设定点距离小于设定值的直线段,组成新第一组直线段,该处设定点为掩膜特征信息中第一条直线段远离夹角一端的端点,在本实施例中,若D/5>70个像素,则设定值大小为70个像素,否则设定值大小为D/5;同理,遍历步骤4.9.4得到的第二组直线段,筛选出那些设定点到直线段距离小于设定值的直线段,组成新第二组直线段,该处设定点为掩膜特征信息中第二条直线段远离夹角一端的端点,设定值的取值同第一组直线段;若新第一组直线段和新第二组直线段均满足至少包括一条直线段,则表示筛选成功,否则筛选失败;

步骤4.9.7:若步骤4.9.6中没有筛选成功,改变霍夫找直线参量,跳转到步骤4.9.3执行;

步骤4.9.8:若步骤4.9.6中筛选成功,遍历新第一组直线段和新第二组直线段中的随机一组直线段,筛选出长度最长的直线段;

步骤4.9.9:求步骤4.9.8得到的最长直线段和另一组直线段中每条直线段的夹角;

步骤4.9.10:将步骤4.9.9得到的夹角和掩膜夹角比较,根据与掩膜角度数的差值小于设定值,筛选出另一组直线段中满足条件的直线段,判断是否筛选成功;若在另一组直线段中筛选出至少一条直线段,表明筛选成功;

步骤4.9.11:若步骤4.9.10中没有筛选成功,改变霍夫找直线参量,跳转到步骤4.9.3执行;

步骤4.9.12:若步骤4.9.10中筛选成功,则在完成步骤4.9.10的筛选后的另一组直线段中筛选出长度最长的直线段;

步骤4.9.13:通过步骤4.9.8以及步骤4.9.12获得两条直线段,计算两条直线段之间的夹角,与掩膜夹角比较,判断偏差是否小于设定值;本实施例该设定值取10度;

步骤4.9.14:若偏差大于等于设定值,提起角测量类型特征信息失败,跳转到步骤4.9.19执行;

步骤4.9.15:若偏差小于设定值,对Canny处理后的图像找外轮廓;

步骤4.9.16:根据轮廓点到所求两直线段的距离,筛选出两组轮廓点集;

步骤4.9.17:分别对两组轮廓点集运用最小二乘法进行拟合直线,求得两端点坐标和斜角;

步骤4.9.18:进一步求得两直线段夹角和顶点坐标;

步骤4.9.19:结束本流程。

所述“模板校准”按钮被点击后会进入模板校准界面,在模板校准界面能够对当前测量零件进行畸变校正和放大率计算,通过校准获取畸变参数和放大率,在实时测量中使用这些参数进行尺寸测量。点击模板校准界面中设置的“正面”或者“侧面”按钮,进入模板校准流程,模板校准流程包括如下步骤:

步骤5.1:将标定板放置在视场内的不同位置,分别采集标定板图像;

步骤5.2:标定板图像采集完成后,关闭相机采集,调用校准算法进行图像校准处理;

步骤5.3:校准处理完成后,将校准参数更新为最新的校准参数;

步骤5.4:退出模板校准界面。

如图13、14所示,所述步骤5.2中图像校准处理包括获取畸变参数和获取放大率。获取畸变参数通过张正友畸变校正算法,包括如下步骤:

步骤5.1.1:读取已采图的标定图像数据和标定参数,标定参数中横向点数是指标定板棋盘格的行数,纵向点数是指棋盘格的列数,单位间距是棋盘格每小格的真实物理尺寸;

步骤5.1.2:对每帧标定图像提取角点信息;

步骤5.1.3:利用已提取的角点信息,进一步提取亚像素角点信息;

步骤5.1.4:初始化标定板上角点的空间三维坐标系;

步骤5.1.5:利用已提取的亚像素角点信息及标定板上角点的空间三维坐标系信息,进行相机标定,得到相机内参与每帧图像的畸变参数、每帧图像的旋转向量和平移向量;

步骤5.1.6:对标定结果进行评价;首先通过相机标定得到畸变参数,对每帧图像的空间三维坐标点进行重新投影计算,得到新的投影点,计算新的投影点与旧的投影点的误差,若该误差小于设定值0.15个像素,则符合要求,保存标定结果与畸变参数,结束本流程;若该误差大于等于设定值0.15个像素,则不合要求,结束本流程并提示重新采集标定图像。

获取放大率的过程包括如下步骤:

步骤5.2.1:利用标定结果对已采集的某一帧标定图像进行校正;

步骤5.2.2:对已校正图像提取角点信息;

步骤5.2.3:提取亚像素角点信息;

步骤5.2.4:遍历校正图像列数,计算并保存每一列第一行至倒数第一行的间距;

步骤5.2.5:对每列所保存的间距进行排序;

步骤5.2.6:以中间列为中心,选择若干列,并累加所选列的所保存的间距;

步骤5.2.7:根据累加值,求均值;

步骤5.2.8:根据均值、列数、物理尺寸,求放大率,放大率的计算公式为均值/(列数-2)/物理尺寸;

步骤5.2.9:结束本流程。

所述尺寸测量流程包括如下步骤:

步骤6.1:根据当前的实时图进行零件出界检测,判断被测零件是否出界;若出界,则弹出提示框,提示用户被测零件出界,用户关闭提示框后进行下一步操作;若未出界则直接进行下一步操作;

步骤6.2:判断正面模板或者侧面模板是否存在,若存在可进行下一步操作,若不存在,则提示先制作模板,再进行测量,结束本流程;

步骤6.3:判断是否采集到图像;若采集到图像,则开启正面/侧面尺寸测量处理线程,运行尺寸测量算法;若没有采集到图像,提示用户未获得图像,结束本流程;

步骤6.4:判断处理的图片张数是否达到处理的阈值;若没有达到处理的阈值,提示“请启动相机,继续采集n张图像”,n表示缺少的图像数量,结束本流程;若达到处理的阈值,则进行正面/侧面的数据处理;数据处理为对每张图片的处理结果数据进行求标准差,根据标准差进行数据踢除后,在对剩余的数据求平均值;

步骤6.5:数据处理完成后,在界面上显示各个尺寸的测量结果。

如图15所示,所述步骤6.1中的零件出界检测包括如下步骤:

步骤6.1.1:读入待检测零件的待测图和模板源图;

步骤6.1.2:对待检测零件的待测图和模板源图进行差分处理,判断两帧图像是否一致;若一致,表明待检测零件形状与位移均为未变化,并将标志位Flag置为0,若不一致,表明待检测零件形状或位移发生变化,并将标志位Flag置为1;

步骤6.1.3:待测图滤波处理;通过中值滤波处理去除高频噪点,保留轮廓边缘信息,本实施例中值滤波窗口为9个像素*9个像素;

步骤6.1.4:滤波后图像进行灰度阈值二值化处理;其中大于设定阈值的像素灰度值被设置为255,反之,则被设置为0;本实施例设定阈值取180;

步骤6.1.5:寻找图像中所有闭环轮廓;所述闭环轮廓是指该轮廓内任意相邻两个轮廓点间距小于设置值,本实施例设置值取2个像素;

步骤6.1.6:求最大闭环轮廓周长,判断此周长是否满足设置条件;设置条件为最大闭环轮廓周长不小于图像周长的0.99倍且不大于图像周长的1.01倍;若此周长不满足条件,再查看标志位Flag,结束本流程;若此周长满足条件,进入步骤6.1.7;其中若Flag等于0,表示检测结果为待检测零件为出界但待检测零件形状与位移均为未变化;若Flag等于1,表示检测结果为待检测零件为出界且待检测零件形状或位移发生变化;

步骤6.1.7:求最大闭环轮廓质心,判断此质心是否满足设定条件;

设定条件为质心横向坐标(X轴坐标)与图像中心点横向坐标的间距不大于设定值,本实施例取5个像素,质心纵向坐标(Y轴坐标)与图像中心点纵向坐标的间距也不大于设定值,本实施例取5个像素;若质心不满足设定条件,再查看标志位Flag,其中若Flag等于0,表示检测结果为待检测零件为出界但待检测零件形状与位移均为未变化;若Flag等于1,表示检测结果为待检测零件为出界且待检测零件形状或位移发生变化;若质心满足设定条件,再判断图像中总闭环轮廓数是否为1;

若图像中总闭环轮廓数为1,查看标志位Flag;若Flag等于0,检测结果为待检测零件为出界但待检测零件形状与位移均为未变化,若Flag等于1,检测结果为待检测零件为出界且待检测零件形状或位移发生变化;若图像中总闭环轮廓数大于1,查看标志位Flag,若Flag等于0,检测结果为待检测零件为未出界且待检测零件形状与位移均未变化,若Flag等于1,检测结果为待检测零件为未出界但待检测零件形状或位移发生变化;

步骤6.1.8:结束本流程。

所述步骤6.1.2中差分处理具体实现过程如下:首先对待测图和模板源图做差分,比较两帧图像中所有像素点的灰度值,大于设定值时,灰度值统计值加1,其中灰度值初始值为0,本实施例中设定值取80;遍历完所有像素点后,该灰度值统计值大于设定阈值,表明待检测零件形状或位移发生变化,反之表明待检测零件形状与位移均为未变化,本实施例设定阈值为全部像素点数的99%。

如图16所示,所述步骤6.3中尺寸测量算法包括如下步骤:

步骤6.2.1:利用标定参数对读入实时待测图进行校正;

步骤6.2.2:判断待检测零件形状与位移是否均未变化;

步骤6.2.3:若待检测零件形状与位移均未变化,则依据模板源图已提取特征信息进行各测量类型的测量;

步骤6.2.4:若待检测零件形状和/或位移发生变化,则进行物体查找和匹配,判断待检测零件是否与模板源图匹配;

步骤6.2.5:若待检测零件与模板源图匹配,依据模板源图已提取特征信息进行圆、线、弧以及角测量类型的测量,结束本流程;

步骤6.2.6:若待检测零件与模板源图不匹配,表明未找到待检测零件,结束本流程。

如图17所示,所述步骤6.2.4中,物体查找和匹配的流程包括如下步骤:

步骤6.3.1:对待测图进行均值滤波处理;本实施例均值滤波窗口为3个像素*3个像素;

步骤6.3.2:进行阈值化处理,将大于设定阈值的像素灰度值被设置为0,反之,则被设置为255,本实施例中设定阈值取100;

步骤6.3.3:提取待检测层级零件轮廓信息;待检测层级零件轮廓信息包括待检测零件外轮廓信息和内轮廓信息,且外轮廓与内轮廓满足父子层级关系,其中外轮廓为父轮廓,内轮廓为子轮廓;

步骤6.3.4:判断待检测零件外轮廓最小外接矩形面积与模板源图的外轮廓最小外接矩形面积的差的绝对值是否小于设定值;本实施例该设定值取值范围为模板源图的外轮廓最小外接矩形面积的15%;

步骤6.3.5:若待检测零件外轮廓最小外接矩形面积与模板源图的外轮廓最小外接矩形面积的差的绝对值大于等于设定值,则结束该流程;

步骤6.3.6:若待检测零件外轮廓最小外接矩形面积与模板源图的外轮廓最小外接矩形面积的差的绝对值小于设定值,则判断待检测零件外轮廓最小外接矩形长宽比与模板源图的外轮廓最小外接矩形长宽比差的绝对值是否小于设定值;本实施例该设定值取值范围为模板源图的外轮廓最小外接矩形长宽比的10%;

步骤6.3.7:若待检测零件外轮廓最小外接矩形长宽比与模板源图的外轮廓最小外接矩形长宽比差的绝对值大于等于设定值,则结束该流程;

步骤6.3.8:若待检测零件外轮廓最小外接矩形长宽比与模板源图的外轮廓最小外接矩形长宽比差的绝对值小于设定值,则求外轮廓最小外接圆,将其圆心作为旋转中心;

步骤6.3.9:判断模板源图外轮廓质心与模板源图的外轮廓最小外接矩形中心间距是否大于设定值;本实施例中设定值为20个像素;

步骤6.3.10:若模板源图外轮廓质心与模板源图的外轮廓最小外接矩形中心间距小于等于设定值,则跳转到步骤6.3.18;

步骤6.3.11:若模板源图外轮廓质心与模板源图的外轮廓最小外接矩形中心间距大于设定值,则判断待检测零件外轮廓质心与其最小外接矩形中心间距与模板源图的外轮廓质心到其外轮廓最小外接矩形长宽比的差的绝对值是否小于设定值;本实施例该设定值取值范围为模板源图的外轮廓质心到其外轮廓最小外接矩形长宽比的10%;

步骤6.3.12:若待检测零件外轮廓质心与其最小外接矩形中心间距与模板源图的外轮廓质心到其外轮廓最小外接矩形长宽比的差的绝对值大于等于设定值,则跳转到步骤6.3.18;

步骤6.3.13:若待检测零件外轮廓质心与其最小外接矩形中心间距与模板源图的外轮廓质心到其外轮廓最小外接矩形长宽比的差的绝对值小于设定值,则求待检测零件相对模板源图的旋转角度;

步骤6.3.14:结合模板源图中心坐标和角度信息,平移旋转待测图,即先在待测图中提取待检测零件感兴趣区域(ROI);接着新建与待测图等大空白图,将待检测零件平移至空白图中心,再将待检测零件旋转至模板源图同角度;在本实施例中ROI为一个矩形,其边长为模板源图最小外接圆直径,其中心为待检测零件最小外接圆圆心;

步骤6.3.15:判断待检测零件外轮廓质心到待检测零件最小外接矩形中心的矢量角与模板源图的外轮廓质心到模板源图的最小外接矩形中心的矢量角相比较,是否小于设定值,本实施例设定值取7.5度。

步骤6.3.16:若步骤6.3.15中矢量角的差值小于设定值,表示物体匹配成功,结束本流程;

步骤6.3.17:若步骤6.3.15中矢量角的差值大于等于设定值,则进入步骤6.3.18;

步骤6.3.18:根据模板源图最大内轮廓最小外接矩形面积判断是否存在内轮廓;若否,则物体匹配成功,求待检测零件相对模板源图的旋转角度,结合模板源图中心坐标和角度信息,平移旋转物体,结束本流程;若是,判断模板源图是否只有一个有效最大内轮廓;

步骤6.3.19:若模板源图只有一个有效最大内轮廓,则进行有效内轮廓匹配,;有效内轮廓匹配包括判断待检测零件的最大内轮廓最小外接矩形面积和模板源图最大内轮廓最小外接矩形面积是否匹配,进一步依次判断最大内轮廓最小外接矩形长宽比是否匹配,外轮廓和最大内轮廓的最小外接矩形中心间距是否匹配,求待检测零件相对模板源图的旋转角度,结合模板源图中心坐标和角度信息,旋转平移物体,外轮廓和最大内轮廓的最小外接矩形中心的矢量角是否匹配,来检测是否匹配成功;

步骤6.3.20:若模板源图不满足只有一个有效最大内轮廓,则判断模板源图有多个最大内轮廓还是既有最大内轮廓又有最小外轮廓;

步骤6.3.21:若模板源图有多个最大内轮廓,则遍历待检测零件中所有内轮廓,对每个内轮廓进行有效内轮廓匹配,判断是否存在至少一个内轮廓匹配成功,若是,物体匹配成功,结束本流程;若否,物体未匹配成功,结束本流程;

步骤6.3.22:若模板源图既有最大内轮廓又有最小外轮廓;先对最大内轮廓进行有效内轮廓匹配;若最大内轮廓匹配,则物体匹配成功,结束本流程;

若最大内轮廓不匹配,再对最小内轮廓检测物体进行有效内轮廓匹配;若最小内轮廓匹配,则物体匹配成功,结束本流程;若最小内轮廓不匹配,则物体未匹配成功,结束本流程。

如图18所示,所述步骤6.2.5中对待测图的圆测量类型的测量流程包括如下步骤:

步骤6.4.2:根据模板源图制作得到的圆测量类型的特征信息,提取待测图中的圆测量类型的ROI;

步骤6.4.3:将待测图中的ROI灰度图进行高斯滤波处理;

步骤6.4.4:对滤波后的图像进行霍夫找圆处理,在待测图中的得到若干个圆;

步骤6.4.5:将待测图中得到的圆的圆心与模板源图比较,判断待测图上是否存在至少一个圆与模板源图上选取的圆的圆心偏移在2mm以内;

步骤6.4.6:若待测图上不存在满足步骤6.4.5的圆,则改变霍夫找圆参量阈值,跳转到步骤6.4.4;

步骤6.4.7:若待测图上存在满足步骤6.4.5的圆,则筛选出模板源图上的圆与待测图上的圆,使这两个霍夫拟合圆半径绝对差值最小;

步骤6.4.8:将步骤6.4.7中筛选出的圆进行半径比较,判断半径绝对差值是否在2mm以内;

步骤6.4.9:若半径绝对差值不在2mm以内,则改变霍夫找圆参量阈值,跳转到步骤6.4.4;

步骤6.4.9:若半径绝对差值在2mm以内,表示已找到合适霍夫拟合圆;

步骤6.4.20:对高斯滤波后的图像求梯度;

步骤6.4.21:计算亚像素边缘点;所述边缘点被定义为相邻几个梯度模值差值的最大值,实施例中通过计算梯度方向上相邻的三点处的梯度模值的二次函数插补,即用三个坐标点(A点、B点、C点)来进行二次方程拟合,并求出补偿值η:

则边缘亚像素点即为相邻三点中的中间点加上补偿值,其中||g(A)||表示A点的梯度模值,||g(B)||表示B点的梯度模值,||g(C)||表示C点的梯度模值;

步骤6.4.22:将亚像素边缘点连接成轮廓;

步骤6.4.23:双阈值筛选轮廓点;

步骤6.4.24:根据轮廓点到已找到的合适霍夫拟合圆的距离,筛选出合适的轮廓点,组成新轮廓点集;

步骤6.4.25:对新轮廓点集运用最小二乘法进行拟合圆,求得圆心和半径;

步骤6.4.26:结束本流程。

所述步骤6.4.3中,所述高斯滤波处理,表示用离散化窗口滑动卷积。高斯滤波处理首先需要计算高斯权重矩阵,实施例中假定中心点的坐标是(0,0),那么距离它最近的8个点的坐标如下:假定标准差σ=1.5,则滤波半径为1的权重矩阵如下:这9个点的权重总和等于0.4787147。如果只计算这9个点的加权平均,还必须让它们的权重之和等于1,因此上面9个值还要分别除以0.4787147,得到最终的权重矩阵:有了权重矩阵,就可以计算中心点以及周边n个点,每个点乘以自己的权重值并将这些值相加,就是中心点的高斯滤波的值。对所有点重复这个过程,就得到了高斯滤波后的图像。

所述步骤6.4.20中,对高斯滤波后的图像求梯度表示利用中心差分求近似图像梯度及梯度模值,具体来说,图像中任意像素点(x,y)的梯度分为X分量和Y分量,X分量为像素点(x+1,y)的灰度值减去像素点(x-1,y)的灰度值;Y分量为像素点(x,y+1)的灰度值减去像素点(x,y-1)的灰度值;梯度模值为X分量平方和与Y分量平方和相加再开根号。

所述步骤6.4.22中,将亚像素边缘点连接成轮廓表示将属于同一个边缘的轮廓点集归到一起,形成链路;其中每个轮廓点对应的应是一个像素点,首先,被归为同一链路的像素点应该具有近似的梯度方向,近似的梯度方向表示同一链路上相邻像素点之间夹角应小于90度,以像素点A和B为例,数学表示为:g(A).g(B)>0,其中,g(A)表示A点的梯度,g(B)表示B点的梯度;另外,图像轮廓可以将亮区域和暗区域分开,所以连续的链路需要将暗区域划分到曲线的同一侧,一个简单的方法是验证从边缘点A到点B的向量与点A两个可能的梯度方向(X轴方向或Y轴方向)中的一个是否近似正交。

所述步骤6.4.23中,双阈值筛选轮廓点表示通过高低两个设定阈值筛选形成的轮廓点,具体来说,对于链路中每个点,先验证其梯度模值是否大于设定的高阈值,本实施例高阈值取4.3;若梯度模值大于设定的高阈值,接着验证与该点链接的前一个点的梯度模值是否大于设定的低阈值,本实施例低阈值取0.8;若大于设定的低阈值,则保留该轮廓点;若小于等于设定的低阈值,则对该轮廓点标记剔除;同理再验证与该轮廓点链接的后一个轮廓点的情况;最后,遍历完后所有点后,删除具有剔除标记的轮廓点,重新形成链路。

需要说明的是模板原图上可能存在多个圆测量类型的特征信息,对于每个圆测量类型的特征信息都单独进行上述的测量流程;对于弧、线以及角测量类型的特征信息也是单独进行测量流程。

需要说明的是对待测图的弧测量类型的测量与圆测量类型的测量的步骤一致。

如图19所示,所述步骤6.2.5中对待测图的线测量类型的测量流程包括如下步骤:

步骤6.5.1:根据模板源图得到的线测量类型特征信息,提取待测图中的线测量类型ROI;

步骤6.5.2:对待测图中的ROI灰度图进行Canny边缘检测处理;

步骤6.5.3:对Canny处理后的图像进行霍夫找直线处理,在待测图中的得到若干条直线段;

步骤6.5.4:将步骤6.5.3中得到的待测图中的直线段与模板源图的直线段进行斜角比较,判断在待测图中是否存在至少一条直线段与模板源图中的至少一条直线段的斜角偏移小于设定值;

步骤6.5.5:若待测图中不存在小于设定斜角偏移值的直线段,跳转到步骤6.5.3;

步骤6.5.6:若待测图中存在小于设定斜角偏移值的直线段,则得到斜角待测图中满足步骤6.5.4中条件的若干条霍夫拟合直线段;

步骤6.5.7:在步骤6.5.6中得到的直线段中筛选出长度最长的直线段;

步骤6.5.8:步骤6.5.7得到的直线段对应的ROI灰度图进行高斯滤波处理;

步骤6.5.9:对高斯滤波后的图像求梯度;

步骤6.5.10:计算亚像素边缘点;

步骤6.5.11:亚像素边缘点连接成轮廓;

步骤6.5.12:双阈值筛选亚像素边缘点,重新组成轮廓点集;

步骤6.5.13:根据轮廓点到已筛选出的直线段的距离,筛选出合适的轮廓点,组成新轮廓点集

步骤6.5.14:对新轮廓点集运用最小二乘法进行拟合直线,求得斜角和两端点坐标;

步骤6.5.15:结束本流程。

如图20所示,所述步骤6.2.5中对待测图的角测量类型的测量流程包括如下步骤:

步骤6.6.1:根据模板源图得到的圆测量类型特征信息,提取待测图中的角测量类型ROI;

步骤6.6.2:将待测图中的ROI灰度图进行Canny边缘检测处理;

步骤6.6.3:对Canny处理后的图像进行霍夫找直线处理,在待测图中的得到若干条直线段;

步骤6.6.4:根据模板源图中构成夹角的两条直线段的斜角,包括第一条直线段斜角和第二条直线段斜角,从步骤6.6.3得到的若干条直线段中筛选出两组直线段,分别为第一组直线段和第二组直线段,其中第一组直线段中直线段的斜角与掩膜特征信息中的第一条直线段斜角的差值绝对值小于设定值,在本实施例中为7.5度,第二组直线段中直线段的斜角与掩膜特征信息中的第二条直线段斜角的差值绝对值小于设定值,在本实施例中为7.5度;若筛选出的每组直线段至少包括一条直线段,表示筛选成功,否则筛选失败;

步骤6.6.5:若步骤6.6.4筛选失败,则改变霍夫找直线参量,跳转到步骤6.6.3执行;

步骤6.6.6:若步骤6.6.4筛选成功,则分别计算模板源图中组成夹角的两条直线段中任意一条直线段的端点到另一条直线段的距离,该端点为远离夹角的一端,得到两个距离值,取其中的较小距离值D’;遍历步骤6.6.4得到的第一组直线段,筛选出直线段到设定点距离小于设定值的直线段,组成新第一组直线段,该处设定点为模板源图中第一条直线段远离夹角一端的端点,在本实施例中,若D’/5>70个像素,则设定值大小为70个像素,否则设定值大小为D’/5;同理,遍历步骤6.6.4得到的第二组直线段,筛选出那些设定点到直线段距离小于设定值的直线段,组成新第二组直线段,该处设定点为模板源图中第二条直线段远离夹角一端的端点,设定值的取值同第一组直线段;若新第一组直线段和新第二组直线段均满足至少包括一条直线段,则表示筛选成功,否则筛选失败;

步骤6.6.7:若步骤6.6.6筛选失败,则改变霍夫找直线参量,跳转到步骤6.6.3;

步骤6.6.8:若步骤6.6.6筛选成功,则遍历步骤6.6.6中的新第一组直线段和新第二组直线段中的随机一组直线段,筛选出该组直线段中长度最长的直线段;

步骤6.6.9:求步骤6.6.8得到的直线段和另一组直线段中每条直线段的夹角;

步骤6.6.10:将步骤6.6.9得到的夹角和模板源图中选择的夹角比较,根据与模板源图中角的度数的差值小于设定值,筛选出另一组直线段中满足条件的直线段,判断是否筛选成功;若在另一组直线段中筛选出至少一条直线段,表明筛选成功;

步骤6.6.11:若步骤6.6.10筛选失败,则改变霍夫找直线参量,跳转到步骤6.6.3执行;

步骤6.6.12:若步骤6.6.10筛选成功,则筛选另一组直线段中长度最长的直线段;

步骤6.6.13:获得每组直线段中长度最长的直线段,计算两条直线段之间的夹角,与模板源图中对应直线段夹角比较,判断偏差是否小于设定值;本实施例该设定值取10度;

步骤6.6.14:若偏差大于等于设定值,表示角测量类型测量失败,跳转到步骤6.6.23执行;

步骤6.6.15:若偏差小于设定值,则将ROI灰度图进行高斯滤波处理;

步骤6.6.16:对高斯滤波后的图像求梯度;

步骤6.6.17:计算亚像素边缘点;

步骤6.6.18:亚像素边缘点连接成轮廓;

步骤6.6.19:双阈值筛选亚像素边缘点,重新组成轮廓点集;

步骤6.6.20:根据轮廓点到所求两直线段的距离,筛选出两组轮廓点集;

步骤6.6.21:分别对两组轮廓点集运用最小二乘法进行拟合直线,求得两端点坐标和斜角;

步骤6.6.22:求得两直线段夹角和顶点坐标;

步骤6.6.23:结束本流程。

以上描述仅是本发明的一个具体实例,不构成对本发明的任何限制。显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修改和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号