使用VPLC控制器进行图像拼接的实例

背景 图像拼接的 原理 是将多幅来自同一 拍摄场景的小视野图像合成为一幅无缝的、分辨率高、大视野的全景图像 。
图像拼接技术 在实际的视觉检测项目过程中 ,遇到大尺寸、视觉检测和定位精度要求高的工件时,这时就需要采用分多小视野拍摄一组图像将它们拼接在一起 去创建更大的视野图像,或全景图像。
图像拼接技术已经广泛应用于各个领域上,例如医学成像、工业上大尺寸工件生产现场等。
图像拼接效果如下面四幅图所示:
将图像无缝拼 接完成之后,我们就可以进行图像检测、提取目标特征、建立图像坐标系等图像处理。
注意:拼接图像前确保图像的像素数量、 拍摄视野、焦距和图像灰度一致,才能确保拼接图像之间无缝平铺组合成一张全景图像。
在上期课程中,我们讲述了如何使用 vplc系列机器视觉运动控制一体机进行进行 灰度匹配 的课程。 本期课程正运动小助手给大家分享一下 vplc系列机器视觉运动控制一体机进行 图像拼接 的课程。
01vplc控制器 (一)vplc516e构架图
(二)课前准备
1.电脑一台,安装zdevelop3.10以上版本软件
2.vplc516e一台
3.24v直流电源一个
4.网线一根
5.winscp软件
6.电线若干
02课程主要使用的指令 1.zv_listinsert -- 插入元素
zv_listinsert(obj,list,pos)
描述:
向列表插入元素,用于向图像列表中插入一张图像。
参数:
obj:zvobject类型,待插入的元素
list:zvobject类型,列表
pos:元素插入列表的位置,默认值为-1,表示在列表的末尾插入元素
2.zv_imgtile -- 图像组合
zv_imgtile(imgs,img,numcols,type)
描述:
将图像列表中的图像平铺组合成一个大图。
参数:
imgs:输入的图像列表,zvobject类型,列表类型,列表中的图像尺寸通道类型都要相同0
img:平铺组合生成的输出图像,zvobject类型
numcols:图像平铺的列数,大于1
type:选择图像平铺方式,如下图所示
03软件实现 1.打开zdevelop软件:新建名称为“图像拼接.zpj”项目→新建“hmi”文件→新建“basic.bas”文件(用于编写界面响应函数、并开启hmi自动运行任务)→新建“相机采集.bas”文件(用于实现相机采集功能)→新建“初始化.bas”文件(用于初始化测量参数)→文件添加到项目。
2.设计hmi主界面,并关联它的控件变量。
3. 编写实现对图像进行灰度匹配的执行函数。
'图像拼接执行程序
global sub main()
   zv_clear(grablist)    '清空数据
   zv_listinsert(ga_grabimg(0),grablist,-1)    '向列表插入元素
   zv_listinsert(ga_grabimg(1),grablist,-1)    '向列表插入元素
   zv_listinsert(ga_grabimg(2),grablist,-1)    '向列表插入元素
   zv_listinsert(ga_grabimg(3),grablist,-1)    '向列表插入元素
   zv_imgtile(grablist,testimg,2,combintype)    '图像组合
   wa(100)
   hmi_showwindow(11, 6) 
   zv_latchsetsize(0, hmi_controlsizex(11, 1), hmi_controlsizey(11, 1)) '设置锁存的大小
   zv_latchclear(0)
   wa(10)
   zv_latch(testimg,0)
   gv_imgtrans=1 
endsub
'界面切换
global sub imgtrans()
   if gv_imgtrans=1 then
      hmi_closewindow(11)
      zv_latchsetsize(0, hmi_controlsizex(10, 1), hmi_controlsizey(10, 1)) '设置锁存的大小
      zv_latchclear(0)
      wa(10)
      zv_latch(ga_grabimg(0),0)
      gv_imgtrans=0
      wa(100)
   endif
endsub
本次,正运动技术【机器视觉运动控制一体机小课堂】三分钟进行图像拼接,就分享到这里。


陷入风波的先进工艺
2000万超清双摄专业人像模式,OPPOR11再度升级吸引眼球
谁说华为p10拍照最强大,OPPOR9s你确定用过?
无外部高速时钟时HSE_RDY被意外置位问题
使用obd接口有何风险
使用VPLC控制器进行图像拼接的实例
实时频谱分析仪中如何选择合适的FFT窗函数
三星推出新款Galaxy Note 9希望能够吸引iPhone用户
AI种的草莓,确实没有人工的甜
基于Android的Linux内核的电源管理:Early Suspend
禾赛打造梦想教室助力偏远乡村教育事业的发展
典型的FPGA方法:如何开始使用Digilent的开发板
上云合作伙伴,华为云桌面致力打造优质云上办公生态
商用车AMT维修技能指南
FHX机架式光纤配线箱的特点和安装说明
浅谈AFC(AFT)电路
智能仪表非线性自动校正方法探讨
具有领先性能、功率和面积比的GPU IP——The PowerVR Series8XT
构成区块链安全漏洞的主要因素有哪些
dfrobot10段 LED光柱简介