背景
圖像拼接的 原理 是將多幅來(lái)自同一 拍攝場(chǎng)景的小視野圖像合成為一幅無(wú)縫的、分辨率高、大視野的全景圖像 。
圖像拼接技術(shù) 在實(shí)際的視覺(jué)檢測(cè)項(xiàng)目過(guò)程中 ,遇到大尺寸、視覺(jué)檢測(cè)和定位精度要求高的工件時(shí),這時(shí)就需要采用分多小視野拍攝一組圖像將它們拼接在一起 去創(chuàng)建更大的視野圖像,或全景圖像。
圖像拼接技術(shù)已經(jīng)廣泛應(yīng)用于各個(gè)領(lǐng)域上,例如醫(yī)學(xué)成像、工業(yè)上大尺寸工件生產(chǎn)現(xiàn)場(chǎng)等。
圖像拼接效果如下面四幅圖所示:
將圖像無(wú)縫拼 接完成之后,我們就可以進(jìn)行圖像檢測(cè)、提取目標(biāo)特征、建立圖像坐標(biāo)系等圖像處理。
注意:拼接圖像前確保圖像的像素?cái)?shù)量、 拍攝視野、焦距和圖像灰度一致,才能確保拼接圖像之間無(wú)縫平鋪組合成一張全景圖像。
在上期課程中,我們講述了如何使用 VPLC系列機(jī)器視覺(jué)運(yùn)動(dòng)控制一體機(jī)進(jìn)行進(jìn)行 灰度匹配 的課程。 本期課程正運(yùn)動(dòng)小助手給大家分享一下 VPLC系列機(jī)器視覺(jué)運(yùn)動(dòng)控制一體機(jī)進(jìn)行 圖像拼接 的課程。
01VPLC控制器
(一)VPLC516E構(gòu)架圖
(二)課前準(zhǔn)備
1.電腦一臺(tái),安裝ZDevelop3.10以上版本軟件
2.VPLC516E一臺(tái)
3.24V直流電源一個(gè)
4.網(wǎng)線一根
5.WinSCP軟件
6.電線若干
02課程主要使用的指令
1.ZV_LISTINSERT -- 插入元素
ZV_LISTINSERT(obj,list,pos)
描述:
向列表插入元素,用于向圖像列表中插入一張圖像。
obj:ZVOBJECT類型,待插入的元素
list:ZVOBJECT類型,列表
pos:元素插入列表的位置,默認(rèn)值為-1,表示在列表的末尾插入元素
2.ZV_IMGTILE -- 圖像組合
ZV_IMGTILE(imgs,img,numCols,type)
描述:
將圖像列表中的圖像平鋪組合成一個(gè)大圖。
參數(shù):
imgs:輸入的圖像列表,ZVOBJECT類型,列表類型,列表中的圖像尺寸通道類型都要相同0
img:平鋪組合生成的輸出圖像,ZVOBJECT類型
numCols:圖像平鋪的列數(shù),大于1
type:選擇圖像平鋪方式,如下圖所示
03軟件實(shí)現(xiàn)
1.打開(kāi)ZDevelop軟件:新建名稱為“圖像拼接.zpj”項(xiàng)目→新建“HMI”文件→新建“basic.bas”文件(用于編寫界面響應(yīng)函數(shù)、并開(kāi)啟HMI自動(dòng)運(yùn)行任務(wù))→新建“相機(jī)采集.bas”文件(用于實(shí)現(xiàn)相機(jī)采集功能)→新建“初始化.bas”文件(用于初始化測(cè)量參數(shù))→文件添加到項(xiàng)目。
2.設(shè)計(jì)HMI主界面,并關(guān)聯(lián)它的控件變量。
?
3.?編寫實(shí)現(xiàn)對(duì)圖像進(jìn)行灰度匹配的執(zhí)行函數(shù)。
?
'圖像拼接執(zhí)行程序
GLOBAL sub main()
? ?ZV_clear(grablist)? ? '清空數(shù)據(jù)
? ?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)) '設(shè)置鎖存的大小
? ?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)) '設(shè)置鎖存的大小
? ? ? ZV_LATCHCLEAR(0)
? ? ? wa(10)
? ? ? ZV_latch(ga_GrabImg(0),0)
? ? ? gv_imgtrans=0
? ? ? wa(100)
? ?endif
ENDSUB
?
本次,正運(yùn)動(dòng)技術(shù)【機(jī)器視覺(jué)運(yùn)動(dòng)控制一體機(jī)小課堂】三分鐘進(jìn)行圖像拼接,就分享到這里。
審核編輯:湯梓紅
評(píng)論
查看更多