十字定位標記中心座標值計算方法 模板匹配

2021-07-24 17:55:56 字數 1429 閱讀 2450

對於十字定位標記,最穩健的方式是使用模板匹配得到定為標誌中心。十字定位標記和圓不同,閾值之後沒有穩健的形狀擬合。因此,閾值的結果如果有孔洞或者邊緣誤差,其中心座標值計算結果會不穩定。所以,對於十字標記或者其他的定位標記物,建議使用模板匹配計算中心值作為定位基準。其實現過程可分為2步:1是製作十字模板;2是進行模板的匹配。

*此函式是根據根據影象建立模板

read_image (image, 'f:/szwx912/testimage/912testimage1111/111.bmp')

*縮小至點位標誌區域

gen_rectangle1 (rectangle, 1067, 1415, 1191, 1563)

reduce_domain (image, rectangle, imagereduced)

*閾值和填充得到飽滿的region

threshold (imagereduced, region, 126, 255)

fill_up (region, region)

reduce_domain (imagereduced, region, imagereduced1)

crop_domain (imagereduced1, imagepart)

*建立邊緣形狀模板,該模板比整個的形狀模板耗時要少

gen_contour_region_xld (regionopening, contours, 'border')

create_shape_model_xld (contours, 'auto', -0.39, 0.79, 'auto', 'auto', 'ignore_local_polarity', 5, modelid)

write_shape_model (modelid, 'f:/szwx912/work_x32_mfol2/crossmodel/crossmodel.shm')

通過find_shape_model函式遍歷影象尋找模板,並得到計算中心。

(1)讀取模板

read_shape_model ('f:/szwx912/work_x32_mfol2/crossmodel/crossmodel.shm', modelid)

(2)讀取影象

read_image (modelimage, 'f:/szwx912/work_x32_mfol2/modelimage/wirebondingmodel1.bmp')

(3)在影象中尋找模板的位置,這樣就得到了模板的座標值crossrowoftemplet和crosscoloftemplet

find_shape_model (modelimage, modelid, -0.39, 0.78, 0.1, 2, 0.5, 'none', 0, 0.8, crossrowoftemplet, crosscoloftemplet, modelangle, modelscore)

halcon聯合C 測量十字Mark中心

函式說明 public void fitrectanglemeasure hwindow 視窗控制代碼,himage 影象,outdouble 中心y座標,outdouble 中心x座標 操作步驟,首先繪製兩個矩形測量框 之後就可進行自動計算。public void fitrectanglemeas...

opencv定位十字交叉點(python)

如果有更好的思路希望大佬們可以提出 要處理的 cos 1 y sin 1 rx cos theta 1 y sin theta 1 r x cos 1 y s in 1 rx cos 2 y si n 2 rx cos theta 2 y sin theta 2 r x cos 2 y s in 2...

CSS定位「十字架」之水平垂直居中

1.先看要實現的效果 實際的效果圖 可以看到我的實現過程是先使用乙個父級的div來定位水平垂直居中,然後再父級的div中定位出兩個十字架的div。看實現 xml html code複製內容到剪貼簿 div預設的寬度是100 當div絕對定位以後,其寬度是按照div中內容的寬度。總結 css中的絕對定...