LabVIEW色彩定位实现药品包装质量检测(实战篇—4)

简介: LabVIEW色彩定位实现药品包装质量检测(实战篇—4)

目录

1、原理


2、实践


1、原理

色彩定位(Color Location)是指通过对色彩匹配功能进行增强和扩展,以快速定位图像中特定颜色区域的过程。


色彩匹配通常将模板色彩与某一已知图像区域的颜色进行对比。与色彩匹配不同,色彩定位可以从图像中搜索与模板颜色相同或相近的区域,它将颜色匹配的功能扩展到被测对象位置未知的场合。与色彩匹配的实现过程类似,色彩定位也包括学习和搜索两个过程。


学习过程提取要搜索的模板图像色谱;

搜索过程则会在采集到的图像中快速搜索与模板颜色匹配的区域,并返回匹配区域的匹配度。

一般的搜索过程会从左到右、从上到下在图像中逐像素移动模板,对于每次移动,都使用色彩匹配算法将模板与其覆盖区域的色谱进行比较,并最终根据计算得到的匹配度来确定与模板颜色相同或相近的区域。


然而,在图像中逐像素移动模板搜索匹配区域的过程计算量很大且非常耗时,因此还需要对搜索过程进一步进行优化,才能实现色彩的快速定位。


不难想到使用由粗到细(Coarse-to-Fine)的方法来优化搜索过程。具体来说,就是先通过下采样和步进搜索的方法快速确定可能的候选匹配位置,然后再对各个候选区域进行精细色彩匹配,以最终确定最佳色彩匹配位置。


下采样方法是指在图像中移动模板到某一位置时,仅用模板所覆盖的图像区域中的部分像素颜色信息与模板的色谱进行比较;

步进搜索是指搜索过程中,模板并非逐像素在图像中移动,而是每次移动都会根据设定的步长跳过多个像素才进行色彩匹配。

基于下采样和跳跃搜索快速匹配后,可先得到所有可能的候选区域,有时候这些区域的分值甚至具有很低的匹配分值。然而,在后续的精细匹配过程中,这些候选区域的匹配度会再次根据原图像信息逐像素被更新,从而最终确定最佳匹配区域。下图显示了色彩定位的过程:

image.png

基于色彩定位的颜色识别应用,可以从图像中搜索所有与模板颜色匹配的区域,并为其分配标记。在实际应用中,很多被测件都含有用颜色编码的标记,只要预先知道标记的种类,并为各种标记找一个模板图像,就能从图像中识别各种标记的类别。例如,模具弹簧在生产过程中会根据荷重指标的不同被标记为黄色、蓝色、红色、绿色、棕色等不同的颜色,因此,可以通过色彩定位在图像中找到出现的颜色标记,并使用此信息来确定弹簧的荷重类型。


若将色彩定位和机械手臂或电机结合,还可以实现基于颜色的目标分类应用。例如,在彩色铅笔生产过程中,可以监测生产线上的铅笔颜色,由机械手臂挑选出同一颜色的铅笔。此外,在制药和塑料加工行业中,也常对胶囊和塑料工件按颜色进行分类。


2、实践

NI Vision使用位于LabVIEW的视觉与运动→Machine Vision→Searching & Matching函数选板中的IMAQ Setup LearnColor Pattern、lMAQ Learn Color Pattern、IMAQ Setup Match Color Pattern和IMAQ Match Color Pattern封装了色彩定位和色彩模式匹配的学习和搜索过程。使用这些函数可创建基于色彩定位的颜色识别、颜色分类(Color Sorting)和颜色检测机器视觉应用。

image.png

函数说明及使用可参见帮助手册:

image.png

色彩定位用于进行质量检测时,一般通过统计图像中待测彩色目标的数量并与预期的数量进行对比来判定检测结果。


通过一个使用色彩定位进行胶囊包装质量检测的实例,它可搜索绿色胶囊的总数,并通过与预期数量对比来判断包装的药品质量是否合格,了解色彩定位的使用方法,程序设计思路如下所示:


程序一开始先将包含绿色胶囊的模板图像读入内存,在调用IMAQ Setup LearnColor Pattern配置了学习模板的颜色信息的方式后,由IMAQ Learn Color Pattern完成学习过程;

IMAQ Setup Match Color Pattern对色彩定位过程的各种参数进行配置后,While循环会逐一将待测图像文件夹中的图像读入内存,并调用IMAQ Match ColorPattern定位其中颜色与模板相同的12个胶囊;

当所封装的胶囊中含有不同颜色的其他药品或胶囊被漏装时,颜色定位过程返回的结果将不会是12个;

因为胶囊的确切位置对检测结果并不重要,因此,通过色彩定位返回的匹配数即可判断所包装的药品是否合格。

程序实现如下所示:

image.png

程序运行效果如下所示:

image.png

程序资源下载请参见:https://download.csdn.net/download/m0_38106923/20715423


相关文章
|
7月前
|
监控 安全 Java
【JAVA】uwb工厂人员定位系统:人员轨迹实时定位
Uwb人员精准定位系统需要具备实时性,将定位数据及时反馈给用户,方便用户进行人员管理和监控。
178 4
|
编解码
LabVIEW条形码识别(实战篇—5)
LabVIEW条形码识别(实战篇—5)
LabVIEW条形码识别(实战篇—5)
|
7月前
|
传感器 编解码 监控
LabVIEW基于机器视觉的钢轨表面缺陷检测系统
LabVIEW基于机器视觉的钢轨表面缺陷检测系统
98 3
|
7月前
|
监控 定位技术 Android开发
如何获得你的准确位置及iphon手机应用定位不准确原因分析
如何获得你的准确位置及iphon手机应用定位不准确原因分析
216 0
|
7月前
|
传感器 数据采集 监控
LabVIEW 开发在不确定路况下自动速度辅助系统
LabVIEW 开发在不确定路况下自动速度辅助系统
30 0
|
7月前
|
监控 安全 5G
UWB人员精准定位系统源码,实现实时定位、人机料配对、物料标签配置、智慧调度、轨迹追踪
人员定位管理系统通过在厂区、车间部署UWB定位基站,实时采集人员、机具、物料上定位标签回传的位置信息数据,采用多维定位模式,精确定位人、机具、物料的实时位置,实现实时定位、人机料配对、物料标签配置、智慧调度、轨迹追踪、工时统计、区域物料统计、电子围栏等应用功能。
132 1
|
监控 算法 安全
UWB定位技术源码:实现微米级精度的人员定位系统
UWB人员定位系统是一种基于超宽带技术的人员定位系统,它通过发送和接收超短脉冲信号,在测距方面可以达到微米级精度。这种系统通常需要具备高精度的定位能力,通常需要达到微米级别,这样可以在室内和室外的复杂环境中精确定位,为人员的个人安全提供更好地保障。
147 0
UWB定位技术源码:实现微米级精度的人员定位系统
|
算法 图形学
Unity——导航系统补充说明
Unity——导航系统补充说明
|
传感器 监控 Java
UWB源码 智慧工厂高精度定位系统源码
定位系统(RTLS)原理 定位原理:参照GPS系统,在定位场景中部署伪卫星小基站,实现对定位目标四周的信号覆盖,从而进一步实现对人员与车辆的定位、导航。该系统一般安装于无法接收GPS信号的室内环境,能实现比GPS系统更精细的的业务功能 定位模式:依据工程数学TDOA运算方法,4台基站可以实现3D定位,3台基站可实现2D平面定位,2台基站可实现长条状1维定位,1台基站则可实现小范围存在识别;所有基站需要上网,进行数据综合分析后,按照所设定的维度,运算出定位结果。
102 0
|
监控 算法 JavaScript
UWB技术开发的定位系统源码,高精度人员定位系统源码(人员定位、车辆定位、物品定位、材料定位)
本套系统运用UWB定位技术,开发的高精度人员定位系统,通过独特的射频处理,配合先进的位置算法,可以有效计算复杂环境下的人员与物品的活动信息。 提供位置实时显示、历史轨迹回放、人员考勤、电子围栏、行为分析、智能巡检等功能。定位精度高达10cm,同时具备高动态、高容量、低功耗的优点。应用场景包括:隧道、化工、工厂、煤矿、工地、电厂、养老、展馆、机房、机场等。
365 0
下一篇
DataWorks