0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Halcon知識:矩形測量

機器人及PLC自動化應用 ? 來源:機器人及PLC自動化應用 ? 2023-04-23 09:56 ? 次閱讀

首先給出一個問題:如下邊一個圖片中,如何獲取矩形的測量,也就是說,需要更準確的矩形位置參數(shù)?halcon提供的一般方法是,首先基本將矩形框住,然后用測量對象進行精確測量。因此,該矩形大致的中心點,長度、寬度、方向角要基本給出,見

cbe89ef8-e052-11ed-bfe3-dac502259ad0.png

首先給出代碼,然后一條一條解釋代碼的意義:

read_image (Image, 'rect2')

rgb1_to_gray(Image,Image)

create_metrology_model (MetrologyHandle)

get_image_size (Image, Width, Height)

set_metrology_model_image_size (MetrologyHandle, Width, Height)

add_metrology_object_rectangle2_measure (MetrologyHandle, 172.3, 239.2, rad(11.609), 146.7, 50.9, 30, 12, 1, 30, [], [], Index)

apply_metrology_model (Image, MetrologyHandle)

get_metrology_object_result (MetrologyHandle, Index, 'all', 'result_type', 'all_param', Rectangle)

get_metrology_object_result_contour (Contour, MetrologyHandle, Index, 'all', 1.5)

clear_metrology_model (MetrologyHandle)

1) create_metrology_model (MetrologyHandle)

該語句定義一個測量容器,該容器可以盛放許多不同的測量對象,本例中測量對象只有一個。

2) set_metrology_model_image_size (MetrologyHandle, Width, Height)

定義測量容器針對的測量范圍,本例是全圖。

3) add_metrology_object_rectangle2_measure( : : MetrologyHandle, Row, Column, Phi, Length1, Length2, *定義外側包含矩形框 MeasureLength1,MeasureLength2, *定義測量對象

MeasureSigma, MeasureThreshold, GenParamName, GenParamValue : Index) *定義被檢圖像灰度

理解該語句,首先要理解【被檢物體、矩形范圍框、和檢測對象】三者的關系。如下圖:

cc01006a-e052-11ed-bfe3-dac502259ad0.png

【被檢物體、矩形范圍框、和檢測對象】三者的對應參數(shù)定義如下圖:

cc19ce24-e052-11ed-bfe3-dac502259ad0.png

* 矩形類計量對象的幾何形狀由其中心(Row, Column)、主軸φ的方向以及半邊長度Length1和Length2指定。

* Phi的輸入值自動映射到間隔。

* 矩形測量區(qū)域垂直于區(qū)域矩形的邊界。與矩形邊界垂直和相切的測量區(qū)域的半邊長度在“ Length1”和“ Length2”中設置。

* 測量區(qū)域的中心位于矩形的邊界上。參數(shù)MeasureSigma指定了一個標準偏差,算子使用該標準偏差應用計量學模型來平滑圖像的灰度值。

* 可以使用參數(shù)MeasureThreshold來選擇突出邊緣,該參數(shù)構成了一個振幅閾值,即邊緣一階導數(shù)的絕對值。

此外,還可以在GenParamName和GenParamValue中調(diào)整一些通用參數(shù)。特別是,可以設置運算 set_metrology_object_param 中可用的所有通用參數(shù)。但請注意,對于許多應用程序,默認值已足夠,無需進行調(diào)整。

運算符 add_metrology_object_rectangle2_measure返回參數(shù)索引中計量模型內(nèi)添加的計量對象的Index索引。

4)get_metrology_object_result( : : MetrologyHandle, Index, Instance, GenParamName, GenParamValue : Parameter)

獲取測量結果。

get_metrology_object_result 允許訪問通過apply_metrology_model 獲得的測量測量對象MetrologyHandle的測量結果。參數(shù) Index指定查詢結果的計量對象(MetrologyHandle中有多個計量對象)。對于設置為“all”的 Index,將返回所有計量對象的結果。通過參數(shù) Instance,可以指定,在參數(shù)中返回結果是哪個測量實例的結果。將實例 Instance 設置為“all”將返回所有實例的結果。可以使用不同的泛型參數(shù)來控制參數(shù)中的返回值Parameter。泛型參數(shù)名稱以 GenParamName傳遞。相應的值以GenParamValue傳遞。以下參數(shù)和值是可能的:

5)get_metrology_object_result_contour( : Contour : MetrologyHandle, Index, Instance, Resolution : )

獲取測量結果。即以上測量的輪廓線。

最后輪廓結果如圖:

cc32f584-e052-11ed-bfe3-dac502259ad0.png

如果原理上還不明白,參考下文,文中繼續(xù)探討本問題。也可參考網(wǎng)文:測量函數(shù)

測量問題

以上得到輪廓線并非測量結果。如何進一步解決測量問題,因為針對的情況很多,無法一一列舉,這里僅對案例中提出的矩形進行矩形測量。

法1:用 fit_rectangle2_contour_xld可以從輪廓線提取矩形,根據(jù)長寬邊滿足測量。

法2:用gen_parallel_contour_xld(contour, parallelcontour, ‘regression_normal’, -Distance)直接得到平行線的距離,(長、寬各一個)

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 容器
    +關注

    關注

    0

    文章

    490

    瀏覽量

    21986
  • 矩形
    +關注

    關注

    0

    文章

    15

    瀏覽量

    12591

原文標題:Halcon知識: 矩形測量

文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Labview與Halcon圖片Image互相轉換

    Labview 與Halcon 聯(lián)合開發(fā) 分享一下Labview 與Halcon Image格式相互轉換的程序, 整理了一個VI,LV_to _Halconxl.vi,可以直接調(diào)用,相互轉換兩種格式
    發(fā)表于 06-27 23:00

    labview調(diào)用halcon軟件包

    眾所周知NI在視覺這塊雖然有涉獵,但是它的一些算法性能比一些專業(yè)的視覺軟件如halcon要差,不可否認,NI_vision在一些尺寸測量方面、找直線還是比較便利的。如今的視覺系統(tǒng)需求越來越復雜
    發(fā)表于 05-27 12:04

    halcon與LabVIEW Vision混合編程接口問題

    各位大大, 之前一直在用LabVIEW Vision做圖像處理,最近在學習halcon,halcon里面的一些算子的功能比較強大,想通過halcon和Vision的混合編程開發(fā)圖像處理程序,在
    發(fā)表于 06-29 11:13

    Labview里面使用Halcon的函數(shù)。 方法一:直接調(diào)用Halcon的函數(shù)。

    本帖最后由 高順周 于 2016-10-14 19:06 編輯 在Labview使用Halcon,有兩種方式。一種是創(chuàng)造一個Halcon程序的運行環(huán)境,然后根據(jù)路徑直接調(diào)用對應的hdev程序
    發(fā)表于 08-15 14:14

    求助:labview與halcon之間的對象轉換

    labview的視覺模塊的識別率確實沒有halcon的厲害,但是labview寫程序卻比halcon+.NET方便,于是在labview中調(diào)用halcon來編程。有個問題需要向各位請教一下,用
    發(fā)表于 08-24 09:32

    labview與halcon連用

    本帖最后由 x451129684 于 2017-11-16 16:46 編輯 labview通過.net調(diào)用halcon算子,測量一個圓的角度
    發(fā)表于 11-16 09:39

    一個Halcon中Rectange2(帶角度的矩形)在NI Vision中實現(xiàn)的算法

    *附件:Labview_Rectange2 文件夾.zip效果如圖所示,Halcon中有一個常用的smallest_rectange2這個算子,可以生成所選區(qū)域的最小外接矩形,且這個矩形是帶有角度
    發(fā)表于 03-29 17:09

    Halcon9.0編程技術詳解

    Halcon9.0編程技術詳解Halcon9.0編程技術詳解
    發(fā)表于 12-22 15:20 ?0次下載

    LABVIEW視覺halcon案例免費下載

    LABVIEW視覺halcon案例免費下載
    發(fā)表于 12-08 17:48 ?208次下載
    LABVIEW視覺<b class='flag-5'>halcon</b>案例免費下載

    在基于Arm的平臺上使用HALCON免費下載

    在基于Arm的平臺上使用HALCON免費下載
    發(fā)表于 12-08 17:28 ?0次下載
    在基于Arm的平臺上使用<b class='flag-5'>HALCON</b>免費下載

    如何獲取矩形測量矩形位置參數(shù)?

    首先給出一個問題:如下邊一個圖片中,如何獲取矩形測量,也就是說,需要更準確的矩形位置參數(shù)?
    的頭像 發(fā)表于 03-20 10:27 ?956次閱讀

    Halcon中的測量工具之Metrology介紹

    對于使用Halcon的小伙伴們來說,在菜單欄上的“助手”一欄中可以找到一些可以快捷使用的工具。
    的頭像 發(fā)表于 03-24 16:35 ?7305次閱讀

    Halcon測量基礎知識入門

    1D測量主要就是拉個框獲取這個框中定義的高頻范圍的臨界點,所測量的范圍比較有限,基于兩點之間的距離。
    的頭像 發(fā)表于 03-24 16:38 ?1201次閱讀

    labview聯(lián)合halcon的編程方法

    經(jīng)過全網(wǎng)學習,終于入門了labview聯(lián)合halcon的編程方法,希望能幫到大家
    發(fā)表于 05-23 15:22 ?28次下載

    史上最全VisionPro和Halcon 的詳細對比

    MVTec MERLIC & HALCON – Mvtec公司宣布了一個基于Halcon庫的新的視覺產(chǎn)品-MERLIC,Merlic增加了極其簡單易用的機器視覺應用并且能夠讓一個有經(jīng)驗的Halcon開發(fā)者把自己的
    的頭像 發(fā)表于 06-26 11:40 ?2890次閱讀