0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【机器视觉运动控制一体机小课堂】三分钟进行轮廓提取

正运动技术 来源:正运动技术 作者:正运动技术 2022-07-07 14:53 次阅读

背景

轮廓提取是基于边缘轮廓的算法,可用于需要提取工件轮廓信息后进行加工处理的检测加工项目,可广泛应用于点胶、激光切割、工件打磨等需要提取工件轮廓的领域。


轮廓是一种能存储一系列点集的数据结构,可分为像素轮廓或亚像素轮廓。 轮廓指令只能提取特定属性的轮廓。


提取图像的边缘信息时会不可避免地提取到一些非检测目标的干扰轮廓信息,如未闭合的边缘线条、毛刺等轮廓信息。


此时我们需要使用图像预处理或者设置一些过滤条件来过滤一些干扰噪点。因此我们还需要根据目标的轮廓特点过滤掉杂散的冗余边缘或进行边缘的修补等操作去获取我们实际所需的目标轮廓信息。

轮廓提取效果如下图所示:

poYBAGLGgDyAdE0kAAMncECexmw909.png

将目标轮廓提取完成之后,我们就可以提取轮廓点集位置信息进行工件相 关的轮廓随动加工处理。

注意:提取图像目标轮廓前需确保图像内目标轮廓的对比度明显,才能保证轮廓提取的精度。

在上期课程中,我们讲述了如何使用 VPLC系列机器视觉运动控制一体机进行 图像拼接 的课程。本期课程正运动小助手给大家分享一下 VPLC系列机器视觉运动控制一体机进行轮廓提取的课程。


一.VPLC控制器

(一)VPLC516E构架图

pYYBAGLGgS2ARZV4AAJ49QBUJaw051.png

(二)课前准备

1.电脑一台,安装ZDevelop3.10以上版本软件

2.VPLC516E一台

3.24V直流电源一个

4.网线一根

5.WinSCP软件

6.电线若干

二.课程主要使用的指令

1.ZV_AUTOTHRESH -- 自动二值化

ZV_AUTOTHRESH(src,dst,tab_thresh)

描述:

使用OTSU算法计算最佳阈值并对图像进行自动二值化处理。

参数

src:ZVOBJECT类型,源图像,单通道图像

dst:ZVOBJECT类型,二值图像

tab_thresh:TABLE索引,输出参数,使用的分割阈值

2.ZV_CONTGEN -- 生成轮廓

ZV_CONTGEN(img,contlist,mode,appro)

描述:

提取二值图像的边缘轮廓。

参数:

img:ZVOBJECT类型,源二值图像

contlist:ZVOBJECT类型,提取到的轮廓序列,列表类型,轮廓序列中包含多个轮廓,每个轮廓由一系列的点集构成

mode:轮廓提取方式:0-外轮廓即被某轮廓封闭包围的所有轮廓将不被提取,1-所有轮廓

appro:轮廓表示方式:0-点集方式即轮廓用一系列的点集表示,1-精简方式即轮廓用一系列的点集表示但水平、垂直、对角线将被精简成两个端点,建议使用1

3.ZV_CONTFILTER -- 过滤

ZV_CONTFILTER(contlist,feature,min,max,is_invert)

描述:

将轮廓序列中的轮廓以某种特征进行过滤,保留满足特征要求的轮廓。

参数:

contlist:ZVOBJECT类型,待过滤的轮廓序列,列表类型

feature:轮廓特征类型,参考排序,可取值-1,则按照顺序取序号在范围内的轮廓

min:特征值的下限

max:特征值的上限

is_invert:是否反向选择,为1则保留不在范围内的轮廓,默认值为0

4.ZV_CONTSORT -- 排序

ZV_CONTSORT(contlist,feature,is_inc)

描述:

对轮廓序列按照特征feature进行排序。

参数:

contlist:ZVOBJECT类型,待排序的轮廓序列,列表类型

feature:排序的特征类型,如下表所示

is_inc:指定是否升序,为0则降序排列,否则升序

轮廓特征如下:

poYBAGLGghiAWciQAAHhvKru4Qw181.png

5.ZV_CONTCOUNT -- 轮廓点数量

ZV_CONTCOUNT(contour,tab_count)

描述:

获取轮廓中点的数量,支持在线命令,使用无需传入TABLE索引参数。

参数:

contour:ZVOBJECT类型,轮廓

tab_count:TABLE索引,输出参数,点的数量

6.ZV_CONTGETPT -- 轮廓点遍历

ZV_CONTGETPT(contour,id,tab_pt)

描述:

获取轮廓中的指定点坐标。

参数:

contour:ZVOBJECT类型,轮廓

id:指定点的id,第一个点的id为0

tab_pt:TABLE索引,输出参数,获取的点坐标x,y

7.ZV_CONTLIST -- 轮廓绘制

ZV_CONTLIST(img,contlist,color,auto_color)

描述:

绘制轮廓序列。

参数:

img:ZVOBJECT类型,绘制的目标图像

contlist:ZVOBJECT类型,轮廓序列

color:绘制序列的颜色,img为彩色图像时可用ZV_COLOR(r,g,b)生成颜色,img为黑白图像时颜色取值为[0,255],如黑色0,灰色128,白色255

auto_color:是否自动设置颜色,为1则自动设置不同的颜色,color将不再使用

三、软件实现

1. 打开ZDevelop软件:新建名称为“轮廓提取.zpj”项目→新建“HMI”文件→新建“Basic.bas”文件 (用于编写界面响应函数、并开启HMI自动运行任务) →新建“相机采集.bas”文件 (用于实现相机采集功能 )→新建“初始化.bas”文件 (用于初始化测量参数) →文件添加到项目。

pYYBAGLGglqAQTeGAAAiIkdyjwE206.png

2.设计HMI主界面,并关联它的控件变量。

pYYBAGLGgmyAJA9BAAFRs9QSSuI665.png

3.编写实现对图像进行轮廓提取的执行函数。

'轮廓提取执行程序

GLOBAL sub main()

LOCAL dot_count,i

DMSET TABLE(10000,10000,0)

ZV_IMGCOPY(GrabImg,testImg) '复制图像

ZV_AUTOTHRESH(testImg,testImg,0) '自动二值化

ZV_CONTGEN(testImg,contlist,outline_mode,outline_appro) '生成轮廓

ZV_CONTFILTER(contlist,filt_param(0),filt_param(1),filt_param(2),0)'对轮廓列表中的轮廓进行过滤

ZV_GRAYTORGB(GrabImg,ResImg) '灰度图转彩色图

ZV_CONTSORT(contlist,filt_param(0),0)'对轮廓以周长特征进行降序排序

ZV_LISTGET(contlist,con,0)'获取第0个轮廓

dot_count = ZV_CONTCOUNT(con)'获取轮廓点数量

TABLE(10)=dot_count

FOR i = 0 TO dot_count-1

ZV_CONTGETPT(con,i,10000+i*2)'轮廓中的点坐标放到TABLE(0)中

NEXT

ZV_CONTLIST(ResImg,contlist,zv_color(0,255,0)) '绘制轮廓序列

ZV_LATCH(ResImg,1)

ENDSUB

本次,正运动技术【机器视觉运动控制一体机小课堂】 三分钟进行轮廓提取 ,就分享到这里。

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16064

    浏览量

    176919
  • 运动控制
    +关注

    关注

    4

    文章

    561

    浏览量

    32785
收藏 人收藏

    评论

    相关推荐

    机器视觉运动控制一体机在光伏汇流焊机器人系统的解决方案

    一体机结合SCARA机械手+机器视觉的电池片汇流焊解决方案。可解决不同角度来料、规格等光伏太阳能电池板的串焊需求,实现生产效率和精度等大幅提升,同时将废品率降至仅12%,并显著加快数据处理速度,提高了
    发表于 02-28 15:01

    机器视觉运动控制一体机在喇叭跟随点胶上的应用

    等问题。 正运动技术视觉点胶整体解决方案: 在此背景下,正运动技术的视觉点胶整体解决方案脱颖而出,方案是基于VPLC系列机器
    发表于 04-16 17:37

    VPLC系列机器视觉运动控制一体机在五轴联动点胶上的应用

    技术针对现有市场需求,开发了种基于VPLC系列机器视觉运动控制一体机的五轴联动点胶解决方案,适
    发表于 07-29 14:29

    免费三分钟

    免费三分钟回拨电话,,绿色的,对号码有次数限制.有三分钟通话时长,,反其道而行不就又是三分钟,请各位灵活运用(见例)假如我的电话是1301309****,而我要打的电话是1386551****.把
    发表于 03-02 17:27

    三分钟让你明白电池为什么会鼓包

    三分钟让你明白电
    发表于 11-12 08:18 7.1w次阅读

    VPLC系列机器视觉运动控制一体机快速入门(十)

    VPLC系列机器视觉运动控制一体机实现OCR的功能
    的头像 发表于 11-08 17:09 947次阅读
    VPLC系列<b class='flag-5'>机器</b><b class='flag-5'>视觉</b><b class='flag-5'>运动</b><b class='flag-5'>控制</b><b class='flag-5'>一体机</b>快速入门(十)

    VPLC系列机器视觉运动控制一体机快速入门(六)

    VPLC系列机器视觉运动控制一体机快速入门标定功能示例篇
    的头像 发表于 09-29 18:05 900次阅读
    VPLC系列<b class='flag-5'>机器</b><b class='flag-5'>视觉</b><b class='flag-5'>运动</b><b class='flag-5'>控制</b><b class='flag-5'>一体机</b>快速入门(六)

    VPLC系列机器视觉运动控制一体机快速入门(九)

    VPLC系列机器视觉运动控制一体机实现外观检测功能---检测划痕
    的头像 发表于 10-18 18:08 738次阅读
    VPLC系列<b class='flag-5'>机器</b><b class='flag-5'>视觉</b><b class='flag-5'>运动</b><b class='flag-5'>控制</b><b class='flag-5'>一体机</b>快速入门(九)

    VPLC系列机器视觉运动控制一体机快速入门(五)

    此前,我们依次讲解了软硬件介绍及计数实例、相机的基本使用、基于形状匹配的视觉定位以及BLOB有无检测等。   今天,正运动技术为大家分享下VPLC系列机器
    的头像 发表于 09-26 18:06 984次阅读
    VPLC系列<b class='flag-5'>机器</b><b class='flag-5'>视觉</b><b class='flag-5'>运动</b><b class='flag-5'>控制</b><b class='flag-5'>一体机</b>快速入门(五)

    VPLC系列机器视觉运动控制一体机快速入门(八)

    VPLC系列机器视觉运动控制一体机快速入门(八)实现测量点/直线/圆的功能
    的头像 发表于 10-14 18:39 1017次阅读
    VPLC系列<b class='flag-5'>机器</b><b class='flag-5'>视觉</b><b class='flag-5'>运动</b><b class='flag-5'>控制</b><b class='flag-5'>一体机</b>快速入门(八)

    快乐解说MCU:三分钟,带你了解低功耗MCU

    快乐解说MCU:三分钟,带你了解低功耗MCU
    的头像 发表于 09-18 10:56 1247次阅读

    三分钟看懂雪崩光电二极管

    三分钟看懂雪崩光电二极管
    的头像 发表于 11-23 09:09 1763次阅读
    <b class='flag-5'>三分钟</b>看懂雪崩光电二极管

    三分钟了解飞创直线电机运动模组特点、选型及应用-FCL系列

    三分钟了解飞创直线电机运动模组特点、选型及应用-FCL系列
    的头像 发表于 02-05 16:28 528次阅读
    <b class='flag-5'>三分钟</b>了解飞创直线电机<b class='flag-5'>运动</b>模组特点、选型及应用-FCL系列

    机器视觉运动控制一体机VPLC532E在汽车胶带缠绕的开放式CNC应用

    机器视觉运动控制一体机VPLC532E在汽车胶带缠绕的开放式CNC应用
    的头像 发表于 08-19 10:03 263次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>视觉</b><b class='flag-5'>运动</b><b class='flag-5'>控制</b><b class='flag-5'>一体机</b>VPLC532E在汽车胶带缠绕的开放式CNC应用

    机器视觉运动控制一体机在DELTA并联机械手视觉上下料应用

    机器视觉运动控制一体机在DELTA并联机械手视觉上下料的应用
    的头像 发表于 10-24 09:02 147次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>视觉</b><b class='flag-5'>运动</b><b class='flag-5'>控制</b><b class='flag-5'>一体机</b>在DELTA并联机械手<b class='flag-5'>视觉</b>上下料应用