背景

ROI即感兴趣区域是我们机器视觉图像处理经常使用的基本功能。在实际的视觉检测项目过程中,我们将待检测目标的检测特征框选出来的区域称作ROI(感兴趣区域)。使用ROI功能我们可以针对性的处理目标特征,提升检测效率和准确性,同时还可以过滤掉环境中引入的干扰因素。

ROI创建有以下两个优点:

1.可缩减处理图像的区域范围,减少图像像素处理量,缩短图像处理时间,提升效率。

2.基准模板。框选检测目标特征后可过滤掉干扰因素,提高检测方案的准确度。

在采集到一张图像后,即可在图像上框选感兴趣的区域创建ROI。

常见的ROI类型有:矩形、旋转矩形、圆形、圆环。本期课程以创建矩形ROI为例。

在上期课程中,我们讲述了如何使用 VPLC系列机器视觉运动控制一体机进行图像开闭运算的课程。本期课程正运动小助手给大家分享一下VPLC系列机器视觉运动控制一体机对图像进行ROI创建的课程。

【视觉运控一体机小课堂】三分钟对图像进行ROI创建

教学视频

01VPLC控制器

(一)VPLC516E构架图

(二)课前准备
1.电脑一台,安装ZDevelop3.10以上版本软件
2.VPLC516E一台
3.24V直流电源一个
4.网线一根
5.WinSCP软件
6.电线若干

02课程主要使用的指令

1.SET_REDRAW – 指定区域重新绘制(需要在自定义元件的刷新函数中使用)

SET_REDRAW ([x, y, width, height])
参数:

X,Y:显示区域左上角的坐X、Y坐标位置

width,height:区域宽和高

2.MOUSE_SCAN – 扫描触摸按下动作

MOUSE_SCAN (num)
参数:

num:触摸对应的位置的X、Y坐标分别存储在table(num), table(num+1)

3.ZV_HMIADJRECT – 矩形ROI调整

hittype = ZV_HMIADJRECT(mousex,mousey,tab_rect,hittype)

参数:
mousex:HMI 控件的鼠标X坐标

mousey:HMI 控件的鼠标Y坐标

tab_rect:保存矩形ROI参数的TABLE索引,依次为ltx、lty、 rbx、rby,即分别为正矩形左上角坐标ltx、lty,右下角坐标rbx、 rby,对应的是hmi控件坐标系下的值,调整后的值将直接替换调整前的值。

hittype:指定击中区域编号,表示指令要调整的矩形对应部分,为-1时表示无效编号,不对矩形做调整;为有效编号时则调整矩形对应的部分。按下鼠标左键则返回当前选中的击中区域编号,按住鼠标左键不放再移动鼠标表示在不断地在调整指定编号所对应的矩形部分,此时返回的击中区域编号与输入的编号一致。

返回值:
hittype:根据鼠标点击位置计算的新的击中区域编号

4.MOUSE_STATE – 读取触摸状态

MOUSE_STATE (num)

参数:
num:触摸对应的位置的 X,Y 坐标分别存储在 table(num), table(num+1)

5.HMI_CONTROLSIZEX – 获取控件宽度

HMI_CONTROLSIZEX ([winid, controlid])

参数:
winid:HMI文件里面窗口编号

controlid:元件编号,缺省为当前自定义元件宽度

6.HMI_CONTROLSIZEY – 获取控件高度

HMI_CONTROLSIZEX ([winid, controlid])

参数:
winid:HMI文件里面窗口编号

controlid:元件编号,缺省为当前自定义元件高度

7.ZV_POSTOIMG – HMI控件坐标转图像坐标

ZV_POSTOIMG(latch_id,num,tab_in_id,tab_out_id)

参数:
latch_id:锁存通道号

num:坐标点数量

tab_in_id:存放转换前坐标点的TABLE索引,num个坐标点数据依次为x、y、x、y…

tab_out_id:存放转换后坐标点的TABLE索引

8.DRAWRECT --绘制矩形

DRAWRECT(x1,y1,x2,y2)

参数:
x1,y1:显示区域左上角的坐标位置

x2,y2:显示区域右下角的坐标位置

03软件实现

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

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

3.编写实现对图像进行ROI创建的执行函数。

'ROI创建的执行函数GLOBAL SUB update_roi()local is_redraw,lv_iSET_REDRAW '全局绘制if ROI_flag=1 THEN  if mouse_scan(11) = 1 then  '扫描鼠标按下操作     hit_pos = ZV_HMIADJRECT(table(11), table(12), 25, -1)     '获取调整区域标志is_redraw = 1    '将绘图标志置1endif    if mouse_scan(11) = -1 then  '扫描鼠标松开操作      ZV_HMIADJRECT(table(11), table(12), 25, hit_pos)  '调整ROI的位置is_redraw = 1   '将绘图标志置1endif    if (MOUSE_state(11)) then      ZV_HMIADJRECT(table(11), table(12), 25, hit_pos)  '调整ROI的位置is_redraw = 1   '将绘图标志置1endif   if (TABLE(25) >= 0) AND (TABLE(27) <= and="">= 0) AND (TABLE(28) <= HMI_CONTROLSIZEY(10,2))  THENTABLE(30) = TABLE(25) ' CXTABLE(31) = TABLE(26) ' CYTABLE(32) = TABLE(27) ' WidthTABLE(33) = TABLE(28) ' HeightELSEIF (TABLE(25) < 0) OR (table(27) >  HMI_CONTROLSIZEX(10,2)) OR (table(26) < 0) OR (table(28) > HMI_CONTROLSIZEY(10,2))  THENTABLE(25) = TABLE(30)  TABLE(26) = TABLE(31)TABLE(27) = TABLE(32)TABLE(28) = TABLE(33)endif  if (1 = is_redraw) then    is_redraw = 0    '将绘图标志置0     ZV_POSTOIMG(0, 2, 25, 15)'将ROI的控件坐标数据转到图像坐标数据d_roi_rect(0) = TABLE(15)'将ROI的图像坐标数据赋值给定义的变量d_roi_rect(1) = TABLE(16)d_roi_rect(2) = table(17)d_roi_rect(3) = table(18)    SET_REDRAW '全局绘制endifendifENDSUB'ROI区域更新后实时绘制ROI区域GLOBAL SUB draw_roi()  if ROI_flag= 1  THENSET_COLOR(rgb(0,255,0))    '设置绘制时画笔的颜色为绿色'绘制矩形DRAWRECT(table(25),table(26),table(27),table(28))'绘制十字标  DRAWLINE((table(25)+table(27))/2-5,(table(28)+table(26))/2,(table(25)+table(27))/2+5,(table(28)+table(26))/2)  DRAWLINE((table(25)+table(27))/2,(table(28)+table(26))/2-5,(table(25)+table(27))/2,(table(28)+table(26))/2+5) endifEND SUB

4.效果演示。

对图像进行ROI创建操作演示部分

本次,正运动技术【机器视觉运动控制一体机小课堂】三分钟对图像进行ROI创建,就分享到这里。

更多精彩内容请关注“正运动小助手”公众号,需要相关开发环境与例程代码,请咨询正运动技术销售工程师:400-089-8936。

本文由正运动技术原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。

【机器视觉运动控制一体机小课堂】三分钟对图像进行ROI创建相关推荐

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

    背景 轮廓提取是基于边缘轮廓的算法,可用于需要提取工件轮廓信息后进行加工处理的检测加工项目,可广泛应用于点胶.激光切割.工件打磨等需要提取工件轮廓的领域. 轮廓是一种能存储一系列点集的数据结构,可分为 ...

  2. 【机器视觉运动控制一体机小课堂】三分钟进行灰度匹配

    背景 不同的模板匹配方法,其操作步骤也不一样,其生成模板的方式也有不同的地方,在之前的课程中我们讲述了基于形状的模板匹配,本期课程我们去了解一下基于灰度值的模板匹配. 基于灰度值的模板匹配适用于图像内 ...

  3. 机器视觉运动控制一体机应用例程(三) 基于BLOB分析的多圆定位

    我们在<VPLC系列机器视觉运动控制一体机快速入门(三)>的推文中,讲述了基于形状匹配的视觉定位功能,而BLOB斑点分析也可以实现定位功能. 本期课程我们将在BLOB斑点分析定位的基础上进 ...

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

    于形状匹配的视觉定位.BLOB有无检测以及测量尺寸. 本期课程,正运动技术和大家一起分享和标定有关的详细知识内容. 视频教程:<VPLC系列机器视觉运动控制一体机快速入门(六)> 机器视觉 ...

  5. 【视觉运控一体机小课堂】三分钟搭建机器视觉开发环境

    回顾之前课程正运动技术与大家分享了,VPLC系列机器视觉运动控制一体机快速入门和应用案例等系列课程. 今天,我们来讲解一下正运动技术VPLC系列控制器ZDevelop编程软件如何来建立ZVision软 ...

  6. 机器视觉运动控制一体机应用例程|锂电池组装线上的读码应用

    应用背景 读码识别技术作为工业物联网信息收集的关键途径,它在生产型企业中得到了广泛的应用. 锂电池在新能源汽车.消费电子和储能领域都有着不可或缺的地位. 它也与人的生命安全保证密切相关. 因此,锂电池 ...

  7. 机器视觉运动控制一体机应用例程(十)工件圆度检测

    现有的测量工件圆度的方法一般是采用圆度测量仪,其是利用回转轴法测量圆度的长度测量工具.圆度仪分为传感器回转式和工作台回转式两种检测方法. 检测圆度时,样品需要与精密轴系同心安装,精密轴系带着电感式长度 ...

  8. 机器视觉运动控制一体机应用例程|柔性振动盘上料解决方案

    一.什么是柔性振动盘? 柔性振动盘作为高度灵活的.可自定零件的自动化柔性上料机构,解决了由于零件的大小.形状不一导致金属/塑料的零部件产品难以上料的难题.适用于更新换代快,频繁切换物料的工业应用场景, ...

  9. 机器视觉运动控制一体机应用例程|电子烟二维码识别

    方案背景 随着社会生活水平的不断提高,电子烟已普遍成为一种大众消费电子产品. 传统电子烟的烟弹在完成烟油加注完后,仍需依赖于人工使用扫码枪或者半自动设备,在生产的环节中进行至关重要的二维码识别. 这种 ...

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

    此前,我们依次讲解了软硬件介绍及计数实例.相机的基本使用.基于形状匹配的视觉定位.BLOB有无检测.测量尺寸.机器视觉方案中使用到的标定功能.ZDevelop软件实现识别条形码和二维码,测量点/直线/ ...

最新文章

  1. mysql下载为csv_MySQL 查询结果保存为CSV文件
  2. 如何解决Ubuntu 12.04(64位)系统在virtualbox环境下无法开机自动挂载共享目录的问题
  3. Flask中数据库的应用
  4. java volatile线程可见_吃透Java并发:volatile是怎么保证可见性的
  5. 移动广告平台有哪些,各有啥优缺点?
  6. 北京科技大学与北京工业大学计算机,请问北京工业大学和北京科技大学2010年计算机专业研究生的录取分数线是多少?谢谢!...
  7. bmi计算器公式_bmi计算公式
  8. 如何购买腾讯云服务器?腾讯云服务器购买教程
  9. javaWeb-第一版
  10. 一文带你秒懂数据结构与算法的三大要素、五大特征!
  11. 爬电、爬距(泄漏距离)、爬电比距
  12. python中ox_Python中os包的用法
  13. 搜狗输入法繁简体切换
  14. 安卓手机硬件信息修改 Device ID Changer 2020
  15. esp32 spi 驱动 oled 屏显示来自 PC 的画面
  16. Node.js怎么配置 ?
  17. 传统蒙文字体_蒙古文
  18. Java 日期 calendar中 DATE 和 DAY_OF_MONTH 和 DAY_OF_YEAR
  19. C++结构体类型变量
  20. win10关闭smb协议服务器,防WannaCry勒索 Win10将删除SMBv1协议

热门文章

  1. 重磅!!毕业将近,论文免费查重工具任你选,非常值得收藏!
  2. 集群出现块丢失,块找回,以及相关底层原理,fsck等
  3. 【渝粤教育】广东开放大学 质量认证认可 形成性考核 (31)
  4. Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon runn
  5. 家里可以装网吧无盘服务器吗,我在家里想装个网吧系统,求好的网吧系统。请专业的来个连接我...
  6. 基于 AndroidR QCOM IMS CALL 通话流程解析
  7. 问题描述-缺少关键字KeyError Traceback (most recent call last) <ipython-input
  8. 2023南京信息工程大学计算机考研信息汇总
  9. html的abbr标签,html标签里有个abbr 请问这个标签是肿么使用的
  10. 如何将JPG免费转化成PDF