今日头条
图像拼接的 原理 是将多幅来自同一 拍摄场景的小视野图像合成为一幅无缝的、分辨率高、大视野的全景图像 。
图像拼接技术 在实际的视觉检测项目过程中 ,遇到大尺寸、视觉检测和定位精度要求高的工件时,这时就需要采用分多小视野拍摄一组图像将它们拼接在一起 去创建更大的视野图像,或全景图像。
图像拼接技术已经广泛应用于各个领域上,例如医学成像、工业上大尺寸工件生产现场等。
图像拼接效果如下面四幅图所示:
将图像无缝拼 接完成之后,我们就可以进行图像检测、提取目标特征、建立图像坐标系等图像处理。
注意:拼接图像前确保图像的像素数量、 拍摄视野、焦距和图像灰度一致,才能确保拼接图像之间无缝平铺组合成一张全景图像。
在上期课程中,我们讲述了如何使用 VPLC系列机器视觉运动控制一体机进行进行 灰度匹配 的课程。 本期课程正运动小助手给大家分享一下 VPLC系列机器视觉运动控制一体机进行 图像拼接 的课程。
(一)VPLC516E构架图
(二)课前准备
1.电脑一台,安装ZDevelop3.10以上版本软件
2.VPLC516E一台
3.24V直流电源一个
4.网线一根
5.WinSCP软件
6.电线若干
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:选择图像平铺方式,如下图所示
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
本次,正运动技术【机器视觉运动控制一体机小课堂】三分钟进行图像拼接,就分享到这里。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !