日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

halcon知识:ncc_model模板匹配

發布時間:2025/3/21 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 halcon知识:ncc_model模板匹配 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?說明

????????除了常見的模板匹配之外,還有其它模板匹配,雖然不夠主流,但嘗試使用,也能解決許多問題。這里先說明ncc_model模板。

一、基于互相關匹配

????????一種基于灰度值的方法是基于相關的匹配。這種方法使用歸一化互相關,用于評估模型和搜索圖像之間的對應關系。它明顯快于經典的基于灰度值的匹配,并且可以補償加法作為以及照明的乘法變化。與基于形狀的匹配相反,對象也具有略微變化的形狀、大量紋理或模糊圖像中的對象(輪廓在模糊中消失圖像,例如,因為散焦)可以找到。應用場合:搜索對象有輕微的變形,大量的紋理,圖像模糊等場合,速度快,精度低。基本操作:

1.創建互相關模板:create_ncc_model()

2.尋找互相關:find_ncc_model()

3.釋放模板:clear_ncc_model()

????????在本節中,我們將快速概述基于相關匹配的匹配過程。到積極跟隨例子,啟動HDevelop程序hdevelop\Matching\Correlation-Based\ find_ncc_model_defocused.hdev,展示了基于相關匹配的魯棒性抵抗紋理和散焦。

dev_update_off () read_image (Image, 'smd/smd_on_chip_05') get_image_size (Image, Width, Height) dev_close_window () dev_open_window (0, 0, Width, Height, 'black', WindowHandle) set_display_font (WindowHandle, 16, 'mono', 'true', 'false') dev_set_color ('green') dev_set_draw ('margin') gen_rectangle1 (Rectangle, 175, 156, 440, 460) area_center (Rectangle, Area, RowRef, ColumnRef) reduce_domain (Image, Rectangle, ImageReduced) create_ncc_model (ImageReduced, 'auto', 0, 0, 'auto', 'use_polarity', ModelID) dev_display (Image) dev_display (Rectangle) disp_continue_message (WindowHandle, 'black', 'true') stop () for J := 1 to 11 by 1read_image (Image, 'smd/smd_on_chip_' + J$'02')find_ncc_model (Image, ModelID, 0, 0, 0.5, 1, 0.5, 'true', 0, Row, Column, Angle, Score)vector_angle_to_rigid (RowRef, ColumnRef, 0, Row, Column, 0, HomMat2D)affine_trans_region (Rectangle, RegionAffineTrans, HomMat2D, 'nearest_neighbor')dev_display (Image)dev_display (RegionAffineTrans)if (J < 11)disp_continue_message (WindowHandle, 'black', 'true')endifstop () endfor clear_ncc_model (ModelID)

二、程序簡短說明

步驟1:選擇參考圖像中的對象


????????首先,在訓練圖像中,使用 gen_rectangle1 創建一個包含對象的區域。這使用 area_center 查詢該區域的中心。在后面的步驟中將需要覆蓋結果與原始區域的匹配。然后,將圖像縮小到感興趣的區域。

read_image (Image, 'smd/smd_on_chip_05')

gen_rectangle1 (Rectangle, 175, 156, 440, 460)

area_center (Rectangle, Area, RowRef, ColumnRef)

reduce_domain (Image, Rectangle, ImageReduced)

步驟2:創建模型


縮小的圖像用于通過 create_ncc_model 創建 NCC 模型。結果,算子返回新創建的模型(ModelID)的句柄,然后可用于指定模型,例如,在調用操作符 find_ncc_model 時。

?create_ncc_model (ImageReduced, 'auto', 0, 0, 'auto', 'use_polarity',?ModelID)

步驟3:再次查找對象


????????現在,循環讀取圖像,并基于以上模板搜索,對于每個搜索圖像,搜索 NCC 模型并使用仿射變換覆蓋模型區域。請注意,訓練應用于聚焦圖像,搜索應用于具有以下特征的圖像變化的散焦。盡管如此,對象實例都已找到。圖 3.1 顯示了參考圖像以及散焦但找到的模型實例之一。

for J := 1 to 11 by 1

read_image (Image, 'smd/smd_on_chip_' + J$'02')

find_ncc_model (Image, ModelID, 0, 0, 0.5, 1, 0.5, 'true', 0, Row, \

Column, Angle, Score)

vector_angle_to_rigid (RowRef, ColumnRef, 0, Row, Column, 0, HomMat2D)

affine_trans_region (Rectangle, RegionAffineTrans, HomMat2D, \

'nearest_neighbor')

dev_display (Image)

dev_display (RegionAffineTrans)

endfor

?

步驟4:銷毀模型


當不再需要 NCC 模型時,使用 clear_ncc_model 將其銷毀。clear_ncc_model (ModelID)

總結

以上是生活随笔為你收集整理的halcon知识:ncc_model模板匹配的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。