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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

halcon模板匹配学习(二) 准备模板

發布時間:2023/12/10 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 halcon模板匹配学习(二) 准备模板 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如下,我們將介紹匹配的第一個操作:準備模板

初始時刻,我們準備好參考圖像,并對其做一定的處理,然后我們需要從參考圖像中導出模板,也就是將參考圖像裁剪成所謂的模板圖像。獲取模板圖像可以通過設置ROI來完成。對于某些應用來說,也可以使用綜合模板代替模版圖像。綜合模板既可以是綜合創造的模板圖像,也可以是一個XLD輪廓。

裁剪參考圖像,使之成為模板圖像

為了創建模板圖像,我們需要從參考圖像中選取ROI,并使用 reduce_domain裁剪圖像的定義域為我們選取的ROI。這樣我們就創建了模板圖像,后續將作為匹配算子的輸入參數。

選取ROI有兩種方法:

  • 直接指定法。
    我們可以直接指定區域的參數進而直接生成區域。HALCON 提供了多種算子用來創建區域,既包括標準的形狀像矩形gen_rectangle2)或者橢圓(gen_ellipse) 到自由形狀的區域,比如多邊形區域(gen_region_polygon_filled).為了使用這些算子,你需要這些區域的參數,比如矩形的位置、大小、方向或者園的位置和半徑。如果這些參數不能直接獲得,你可以使用draw算子,比如你可以在打開的圖像上畫一個形狀,然后返回其參數。這些算子可以在HDevelop菜單 Operators :fa-play: Graphics :fa-play: Drawing 獲得。
  • 通過圖像處理獲得區域。
    有時我們可以通過圖像處理獲得區域,如閾值處理分割圖像、通過blob分析connection、fill_up、select_shape等可以選取某種特征的區域。

綜合模板圖像,作為模板圖像的替代選擇

綜合模板圖像

綜合模板圖像主要應用于 correlation-based 匹配和所有基于輪廓的2D方法 比如 shape-based, component-based, local deformable, and perspective deformable matching.
如下我們舉例說明。




我們想要定位電容。如果我們選擇明亮的圓域作為ROI區域,則會發現該區域包括大量的噪聲點。因此最后匹配出的電容只有一個。如果我們改進之前的圓區域,換成一個環形區域作為ROI,則最后匹配出理想的電容區域。但是即使這樣,環形區域使得內部的區域丟失了一部分,而且仍然包含部分噪點,所以不理想。

最好的方法是使用綜合模板圖像。具體步驟如下:
Step 1: 創造一個XLD輪廓
首先我們使用算子gen_ellipse_contour_xld創造一個圓形區域。

RadiusCircle := 43 SizeSynthImage := 2*RadiusCircle + 10 gen_ellipse_contour_xld (Circle, SizeSynthImage/2, SizeSynthImage/2, 0, RadiusCircle, RadiusCircle, 0, 6.28318, 'positive', 1.5)

注意合成圖像應該比區域大一些,因為對于 shape-based matching,當創建圖像金字塔時,區域外面的像素也被使用。
Step 2: 創造一個圖像,并將XLD插入圖像中
然后我們使用算子gen_image_const創造一個空的圖像,并使用算子* paint_xld*將XLD輪廓插入圖像中.

gen_image_const (EmptyImage, 'byte', SizeSynthImage, SizeSynthImage) paint_xld (Circle, EmptyImage, SyntheticModelImage, 128)

Step 3: 創建模型
使用綜合模板創建模型。




請注意:
完整的代碼,見:HDevelop 項目 solution_guide/matching/synthetic_circle.hdev

來自XLD輪廓的模型

對于 shape-based matching 和 the local and perspective deformable matching,你不必要從一個XLD輪廓中創建一個綜合模板圖像,因為你可以直接使用XLD輪廓作為模板。比如說,對于shape-based matching, 你不必要提供一幅圖像,選擇ROI,然后調用 create_shape_model, create_scaled_shape_model, or create_aniso_shape_model其中之一去創建模型。

相反,你可以簡單地調用create_shape_model_xld, create_scaled_shape_model_xld, or create_aniso_shape_model_xld使用XLD輪廓作為輸入參數。

舉例說明。如下的完整項目,見 HDevelop example program: examples\hdevelop\Matching\Shape-Based\create_shape_model_xld.dev:

gen_circle_contour_xld (ContCircle, 300, 300, MeanRadius, 0, 6.28318, \ 'positive', 1) create_shape_model_xld (ContCircle, 'auto', 0, 0, 'auto', 'auto', \ 'ignore_local_polarity', 10, ModelID)

對于 local and perspective deformable matching 的處理也可以相應的被使用。這里你可以使用算子create_local_deformable_model_xld for the local deformable matching and create_planar_uncalib_deformable_model_xldor create_planar_calib_deformable_model_xld, respectively, for perspective deformable matching.

初始時刻不知道極性,因為輪廓不提供極性。所以需要在一個有代表性的圖像中做實驗,看看如何設置極性。開始忽略極性,即參數
Metric設置為ignore_local_polarity,后面設置極性.可以調用算子set_shape_model_metric for shape-based matching,set_local_deformable_model_metric
for local deformable matching, and set_planar_uncalib_deformable_model_metric or
set_planar_calib_deformable_model_metric, respectively, for perspective deformable matching.
然后極性信息就被存儲到模型中。然后在接下里的搜索算子中可以通過參數
Metric設置各位合適的值,如’use_polarity’. 這種處理強烈推薦給迅速且魯棒的搜索。

find_shape_model (Image, ModelID, 0, 0, 0.7, 0, 0, 'least_squares', 0, 0.9, Row, Column, Angle, Score)... accessing the indices of the matches ... that represent suitable drill holesvector_angle_to_rigid (0, 0, 0, Row[HoleIndices[0]], Column[HoleIndices[0]], Angle[HoleIndices[0]], HomMat2D)set_shape_model_metric (Image, ModelID, HomMat2D, 'use_polarity')for Index := 2 to 9 by 1read_image (Image, 'brake_disk/brake_disk_part_'+Index$'02d')find_shape_model (Image, ModelID, 0, 0, 0.7, 0, 0, 'least_squares', 0, 0.9, Row, Column, Angle, Score) endfor

如下圖為示意圖:




注:關于極性的選擇。



1. 使用極性模式: 要求模板與圖像黑白亮度對應。
2. 忽略模板全局極性: 不需要模板與圖像黑白亮度對應
3. 忽略局部極性: 不需要模板與圖像黑白亮度對應,允許變化。



總結

以上是生活随笔為你收集整理的halcon模板匹配学习(二) 准备模板的全部內容,希望文章能夠幫你解決所遇到的問題。

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