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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

halcon模板匹配干扰边缘消除办法(最硬核方式)

發布時間:2023/12/10 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 halcon模板匹配干扰边缘消除办法(最硬核方式) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • halcon手繪形狀匹配模板
    • 手繪形狀匹配模板
    • 主要算子解析
        • draw_nurbs 繪制平滑曲線
          • 參數解釋
        • create_shape_model_xld 使用XLD輪廓創建模板
          • 參數解釋
    • 實例演示與解析
        • 實例代碼展示與解析
        • 運行過程與處理展示
            • 讀入圖像
            • 繪制模板
            • 使用繪制的XLD創建模板
            • 查找模板

  • 博主寫作不容易,還是需要您鼓勵
  • 萬水千山總是情 , 先點個贊行不行

最近做了個項目,遇到一個問題,就是在創建形狀匹配模板時候,干擾太多,像麻繩一樣。

使用自定義區域去消除吧,因為輪廓長,邊緣干擾距離近,操作起來不方便;
使用CAD圖形創建模板吧,又因為產品隨意性比較強,每次換產品都要從新畫模板。

最終決定使用手繪模板的方式解決這個問題。

halcon手繪形狀匹配模板

手繪形狀匹配模板

為了避免大家產生理解歧義,這里對手繪形狀匹配模板做一個解釋。
所謂手繪形狀匹配模板,就是在圖像上畫XLD輪廓,將這個XLD輪廓作為形狀匹配模板。這樣模板就由我們手繪而成,我們想讓模板長什么樣,就把模板畫成什么樣。

主要算子解析

draw_nurbs 繪制平滑曲線

draw_nurbs — 界面交互式繪制平滑曲線

draw_nurbs( : ContOut : WindowHandle, Rotate, Move, Scale, KeepRatio, Degree : Rows, Cols, Weights)

我們一般使用時參數設置如下:
draw_nurbs (ContOut1, WindowHandle, ‘true’, ‘true’, ‘true’, ‘true’, 3, Rows, Cols, Weights)

參數解釋

ContOut(output_object)xld_cont→對象
與手繪輪廓近似的NURBS曲線。
WindowHandle(input_control)窗口→(整數)
窗口句柄。
Rotate(input_control)字符串→(string)
旋轉使能,輪廓交互時可以旋轉
默認值:“ true”
值列表:“ false”,“ true”
Move (input_control)字符串→(string)
移動使能,輪廓交互時可以使能
默認值:“ true”
值列表:“ false”,“ true”
Scale(input_control)字符串→(string)
縮放使能,輪廓交互時可以縮放
默認值:“ true”
值列表:“ false”,“ true”
KeepRatio(input_control)字符串→(string)
縮放時是否保持比例,是否等比例縮放
默認值:“ true”
值列表:“ false”,“ true”
Degree(input_control)整數→(整數)
NURBS曲線的曲度。合理的值是3到25。
默認值:3
建議值:2、3、4、5
限制:Degree> = 2
Rows(output_control)坐標.y數組→(真實)
控件多邊形的行坐標。
Cols(output_control)坐標.x數組→(實數)
控件多邊形的列坐標。
Weights (output_control)實數數組→(實數)
權重向量。

create_shape_model_xld 使用XLD輪廓創建模板

create_shape_model_xld — 使用XLD輪廓創建模板

create_shape_model_xld(Contours : : NumLevels, AngleStart, AngleExtent, AngleStep, Optimization, Metric, MinContrast : ModelID)

我們一般使用時參數設置如下:
create_shape_model_xld (Contours , ‘auto’,-rad(180), rad(360), ‘auto’, ‘auto’, ‘ignore_local_polarity’, 10, ModelID)

參數解釋

Contours (input_object)xld_cont(-array)→對象
輸入將用于創建模型的輪廓。
NumLevels(input_control)整數→(整數/字符串)
金字塔等級的最大數量。
默認值:“自動”
值列表:1、2、3、4、5、6、7、8、9、10,“自動”
AngleStart(input_control)angle.rad→(實數)
模板的起始角度。
默認值:-0.39
建議值:-3.14,-1.57,-0.79,-0.39,-0.20、0.0
AngleExtent(input_control)angle.rad→(實數)
模板旋轉角度的范圍。
默認值:0.79
建議值:6.29、3.14、1.57、0.79、0.39
限制:AngleExtent> = 0
AngleStep(input_control)angle.rad→(真實/字符串)
旋轉角度的步長(分辨率)。
默認值:“自動”
建議值:“自動”,0.0175、0.0349、0.0524、0.0698、0.0873
限制:(AngleStep> 0)&&(AngleStep <=(pi / 16))
Optimization(input_control)字符串(-array)→(string)
一種優化,以及用于生成模型的可選方法。
默認值:“自動”
值列表:“ auto”,“ no_pregeneration”,“ none”,“ point_reduction_high”,“ point_reduction_low”,“ point_reduction_medium”,“ pregeneration”
Metric(input_control)字符串→(string)
匹配指標。
默認值:‘ignore_local_polarity’
值列表:‘ignore_color_polarity’,‘ignore_global_polarity’,‘ignore_local_polarity’,‘use_polarity’
MinContrast(input_control)編號→(整數)
搜索圖像中對象的最小對比度。
默認值:5
建議值:1、2、3、5、7、10、20、30、40
ModelID(輸出控制)shape_model→(整數)
模板的句柄。

實例演示與解析

實例代碼展示與解析

*讀入圖片進行顯示 read_image (Image, 'C:/Users/22967/Desktop/ZL2KB/1.bmp') dev_close_window () dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle) dev_display (Image) *手繪模板 draw_nurbs (ContOut1, WindowHandle, 'true', 'true', 'true', 'true', 3, Rows, Cols, Weights) *使用XLD輪廓創建模板 create_shape_model_xld (ContOut1, 'auto',-rad(180), rad(360), 'auto', 'auto', 'ignore_local_polarity', 10, ModelID) *得到模板輪廓 get_shape_model_contours (ModelContours, ModelID, 1) *查找模板 find_shape_model (Image, ModelID, 0, 0, 0.8, 0, 0.5, 'least_squares', 0, 0.1, Row, Column, Angle, Score) *顯示查找結果 if(|Row|==0)dev_clear_window()dev_display(Image) set_tposition (WindowHandle, 300, 300)write_string (WindowHandle, 'Not Find')stop() else gen_cross_contour_xld (CrossFind, Row, Column, 200, Angle) endif

運行過程與處理展示

讀入圖像

繪制模板

使用繪制的XLD創建模板

查找模板

  • 博主簡介:
  • 工業自動化上位機軟件工程師、機器視覺算法工程師、運動控制算法工程師。目前從業于智能制造自動化行業。 博主郵箱:2296776525@qq.com
  • 幫忙點個贊吧。哈哈。

總結

以上是生活随笔為你收集整理的halcon模板匹配干扰边缘消除办法(最硬核方式)的全部內容,希望文章能夠幫你解決所遇到的問題。

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