機(jī)器視覺系統(tǒng)編程與開發(fā) 課件 第9-12課時-項(xiàng)目3 圖像的變換和校正_第1頁
機(jī)器視覺系統(tǒng)編程與開發(fā) 課件 第9-12課時-項(xiàng)目3 圖像的變換和校正_第2頁
機(jī)器視覺系統(tǒng)編程與開發(fā) 課件 第9-12課時-項(xiàng)目3 圖像的變換和校正_第3頁
機(jī)器視覺系統(tǒng)編程與開發(fā) 課件 第9-12課時-項(xiàng)目3 圖像的變換和校正_第4頁
機(jī)器視覺系統(tǒng)編程與開發(fā) 課件 第9-12課時-項(xiàng)目3 圖像的變換和校正_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

版本號:V1.0Halcon機(jī)器視覺編程基礎(chǔ)項(xiàng)目3圖像的變換和校正【知識目標(biāo)】1、知道圖像產(chǎn)生畸變的形式和原因;2、掌握仿射變換基本操作;2、掌握透視變換的基本操作。1、會使用Halcon軟件進(jìn)行仿射變換;2、會使用Halcon軟件進(jìn)行透視變換。1、培養(yǎng)精益求精的精神;2、勇于創(chuàng)新,勤學(xué)苦練的精神?!灸芰δ繕?biāo)】【素養(yǎng)目標(biāo)】項(xiàng)目導(dǎo)讀

在許多工程實(shí)際應(yīng)用中,由于相機(jī)拍攝時可能角度存在偏差,實(shí)際獲得的圖像也許會與預(yù)期的不一致,如在傳送帶上隨意擺放的零件,角度、位置都不一樣,又或者得到的圖像形狀失真,所以在對圖像進(jìn)行分析處理之前,需要對失真的圖像進(jìn)行幾何變換,來解決失真的問題。幾何變換是指用數(shù)學(xué)建模的方法來描述圖像位置、大小、形狀等變換的方法,不改變圖像的拓?fù)浣Y(jié)構(gòu),常作為圖像預(yù)處理,為后續(xù)的圖像處理、特征提取、目標(biāo)識別做準(zhǔn)備。

對文字圖像進(jìn)行仿射變換對傾斜的二維碼進(jìn)行透視變換任務(wù)2任務(wù)1利用仿射變換校正圖像任務(wù)12課時【任務(wù)要求】

1、會使用基本的平移、旋轉(zhuǎn)、縮放操作,了解組合變換;2、熟練使用仿射變換算子。【任務(wù)實(shí)施】

圖像的幾何變換常見的形式有平移、旋轉(zhuǎn)和縮放等操作。在Halcon中通過對應(yīng)幾何變換的算子進(jìn)行相應(yīng)的變換操作。

幾何變換的流程1、利用hom_mat2d_identity算子創(chuàng)建單位矩陣;2、選定變換類型算子;3、利用幾何變換算子affine_trans_image進(jìn)行幾何變換?!救蝿?wù)實(shí)施】1. *關(guān)閉窗口,讀取圖像,如圖3-1(a)所示。2. read_image(Image,'machinevision.jpg')3. *獲取圖像大小4. get_image_size(Image,Width,Height)5. *創(chuàng)建新的圖像窗口,大小和圖像一致6. dev_open_window(0,0,Width,Height,'black',WindowHandle)7. *顯示圖像8. dev_display(Image)圖像初始化原圖9. *定義單位矩陣第一步10. hom_mat2d_identity(HomMat2DIdentity)11. *設(shè)定平移矩陣第二步12. hom_mat2d_translate(HomMat2DIdentity,64,64,HomMat2DTranslate)13. *進(jìn)行平移操作,如圖3-1(b)所示,第三步14. affine_trans_image(Image,ImageAffineTrans,HomMat2DTranslate,'constant','false')平移15. *獲得圖像中心(設(shè)為旋轉(zhuǎn)點(diǎn),也可以選擇其它點(diǎn))16. area_center(Image,Area,Row,Column)17. *設(shè)定旋轉(zhuǎn)矩陣,進(jìn)行旋轉(zhuǎn)操作

18. hom_mat2d_rotate(HomMat2DIdentity,0.78,Row,Column,HomMat2DRotate)19. affine_trans_image(Image,ImageAffineTrans1,HomMat2DRotate,'constant','false')旋轉(zhuǎn)20. *設(shè)定縮放矩陣,進(jìn)行縮放操作

21. hom_mat2d_scale(HomMat2DIdentity,0.5,0.5,Column,Row,HomMat2DScale)22. affine_trans_image(Image,ImageAffineTrans2,HomMat2DScale,'constant','false')縮放算子釋義hom_mat2d_identity—Generatethehomogeneoustransformationmatrixoftheidentical2Dtransformation.格式:hom_mat2d_identity(:::HomMat2DIdentity)參數(shù):HomMat2Didentity--為3*3單位矩陣作用:創(chuàng)建一個單位矩陣。hom_mat2d_translate—Addatranslationtoahomogeneous2Dtransformationmatrix.格式:hom_mat2d_translate(::HomMat2DIdentity,Tx,Ty:HomMat2DTranslate)參數(shù):HomMat2DIdentity--單位矩陣;Tx--X行平移量;Ty--Y列平移量;HomMat2DTranslate--計算得到的平移矩陣。作用:創(chuàng)建平移矩陣。hom_mat2d_rotate—Addarotationtoahomogeneous2Dtransformationmatrix.格式:hom_mat2d_rotate(::HomMat2DIdentity,Phi,Px,Py:HomMat2DRotate)參數(shù):HomMat2DIdentity--單位矩陣;Phi--旋轉(zhuǎn)的角度(單位:弧度);Px,Py--旋轉(zhuǎn)點(diǎn)的坐標(biāo)(X行Y列);HomMat2DRotate--計算得到的旋轉(zhuǎn)矩陣。作用:創(chuàng)建旋轉(zhuǎn)矩陣。hom_mat2d_scale—Addascalingtoahomogeneous2Dtransformationmatrix.格式:hom_mat2d_scale(::HomMat2DIdentity,Sx,Sy,Px,Py:HomMat2DScale)參數(shù):HomMat2DIdentity--單位矩陣;Sx--X方向的縮放比例;Sy--Y方向的縮放比例;Px,Py--縮放點(diǎn)的坐標(biāo)(X行Y列)。作用:創(chuàng)建縮放矩陣。affine_trans_image—Applyanarbitraryaffine2Dtransformationtoimages.格式:affine_trans_image(Image:ImageAffineTrans:HomMat2D,Interpolation,AdaptImageSize:)參數(shù):Image--幾何變換前的圖像變量;ImageAffineTrans--幾何變換后的圖像變量;HomMat2D--變換矩陣;Interpolation--插值類型;AdaptImageSize--自動調(diào)節(jié)輸出圖像大?。═rue:將調(diào)整目標(biāo)圖像大小,右邊緣或下邊緣不裁剪,F(xiàn)alse:目標(biāo)圖像的大小與輸入圖像的大小相同。默認(rèn)值為False)。作用:進(jìn)行幾何變換。下一任務(wù)介紹:了解了Halcon透視變換的方法。利用透視變換校正圖像任務(wù)22課時【任務(wù)要求】

1、了解透視變換的概念,產(chǎn)生的原因;2、能用透視變換算子對傾斜的圖像進(jìn)行透視變換?!救蝿?wù)實(shí)施】

獲取的圖像如果發(fā)生傾斜,可以采用透視變換對其校正,透視變換也稱投影變換,是在三維空間上的變換。透視變換可以通過hom_vector_to_proj_hom_mat2d算子結(jié)合projective_trans_image算子實(shí)現(xiàn)。透視變換的步驟1、求出圖像的角點(diǎn)坐標(biāo),如圖3-2所示。根據(jù)需要變換的區(qū)域使用ctrl+鼠標(biāo)左鍵,查看原圖像坐標(biāo),然后將4個角點(diǎn)的“行”坐標(biāo)放入一個數(shù)組,“列”坐標(biāo)放入一個數(shù)組;

2、利用hom_vector_to_proj_hom_mat2d算子,根據(jù)4個角點(diǎn)和變換后矩形的4個角點(diǎn)坐標(biāo)點(diǎn)創(chuàng)建齊次變換矩陣;

3、利用projective_trans_image算子根據(jù)變換矩陣對傾斜的圖像進(jìn)行校正。透視變換可以通過

hom_vector_to_proj_hom_mat2d算子

結(jié)合

projective_trans_image算子

實(shí)現(xiàn)算子釋義:hom_vector_to_proj_hom_mat2d—Computeahomogeneoustransformationmatrixusinggivenpointcorrespondences.格式:hom_vector_to_proj_hom_mat2d(::Px,Py,Pw,Qx,Qy,Qw,Method:HomMat2D)參數(shù):Px、Py、Pw--原圖角點(diǎn)的坐標(biāo);Qx,Qy,Qw--變換后對應(yīng)角點(diǎn)的坐標(biāo);Method--如果Pw或Qw不為0,選擇'normalized_dlt',為0,選擇“dlt”;HomMat2D--生成的齊次變換矩陣。作用:計算齊次變換矩陣?!救蝿?wù)實(shí)施】傾斜的二維碼1、圖像初始化1. *獲取圖像2. read_image(Image,'datacode/ecc200/ecc200_to_preprocess_001')3. *關(guān)閉窗口4. dev_close_window()5. *創(chuàng)建一個窗口,大小和圖像尺寸一致6. dev_open_window_fit_image(Image,0,0,-1,-1,WindowHandle)7. *初始化坐標(biāo),利用鼠標(biāo)查看原圖4個角點(diǎn)的坐標(biāo),X放置“行”坐標(biāo),Y放置“列”坐標(biāo)。8. XCoordCorners:=[130,225,290,63]9. YCoordCorners:=[101,96,289,269]2、透視變換10. *第一步:使用4個角點(diǎn)的坐標(biāo)和邊長為200正方形的對應(yīng)角點(diǎn)生成一個齊次變換矩陣homMat2D。11. hom_vector_to_proj_hom_mat2d(XCoordCorners,YCoordCorners,[1,1,1,1],[70,270,270,70],[100,100,300,300],[1,1,1,1],'normalized_dlt',HomMat2D)**第二步:利用透視變換對傾斜圖像進(jìn)行校正,結(jié)果如圖3-3所示。12.projective_trans_image

(Image,

Image_rectified,

HomMat2D,

'bilinear',

'false',

'false')

3、二維碼識別16. **第一步:創(chuàng)建二維碼模型并在校正后的圖像中搜索*數(shù)據(jù)代碼17. *注意:要根據(jù)二維碼的類型選擇對應(yīng)的參數(shù)18. create_data_code_2d_model('DataMatrixECC200',[],[],DataCodeHandle)19. *第二步:檢測讀取二維嗎模型20. find_data_code_2d(Image_rectified,SymbolXLDs,DataCodeHandle,[],[],ResultHandles,DecodedDataStrings)4、顯示結(jié)果21. **顯示結(jié)果22. dev_display(SymbolXLDs)23. *顯示二維碼信息,結(jié)果如圖

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論