精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

halcon案例:金屬工件幾何測量

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

一、提要

對于官方幫助文件的案例,需要逐一跟蹤代碼,掌握這些技能不很容易,因為這需要多種算子互相搭配,可以說每一個案例都針對一個測量場景,因此,學習halcon不要從一個一個算子做起,而要從案例做起。因為具體問題不同,方法也不同,比如,地圖的邊緣提取,和加工零件的邊緣提取做法有不同,注意這種細節。

二、必要的算子介紹

2.1 dev_set_draw

dev_set_draw 定義區域的填充模式。如果 DrawMode 設置為“filled”,則區域顯示為填充,如果設置為“margin”,則僅顯示輪廓。在 'margin' 模式下,輪廓的外觀會受到 dev_set_line_width、set_line_approx 和 set_line_style 的影響。

1)算子形式

dev_set_draw( : : DrawMode : )

2)參數描述

DrawMode參數兩個選項(“filled”,和 “margin”),設定完后,顯示區域方式就變了,如圖:

.2 area_center

獲得區域的面積和中心位置。

運算符 area_center 計算輸入區域的面積和中心。面積定義為一個區域的像素數。中心分別計算為所有像素的行坐標或列坐標的平均值。如果傳遞了多個區域,則結果存儲在元組中,元組中值的索引對應于輸入區域的索引。在空白區域的情況下,如果沒有設置其他行為,則所有參數的值都為 0.0(參見 set_system)。

1)算子形式

area_center(Regions : : : Area, Row, Column)

2)參數描述

Regions :輸入區域

Area, 區域面積

Row, 行坐標

Column,列坐標

2.3 orientation_region

運算符orientation_region 計算區域的方向。運算符基于 elliptic_axis。此外,計算輪廓上與重心距離最大的點。如果在旋轉坐標系中,該點的列坐標小于重心的列坐標,則將 的值加到角度上。如果傳遞了多個區域,則結果存儲在元組中,元組中值的索引對應于輸入中區域的索引。

1)算子形式

orientation_region(Regions : : : Phi)

2)參數描述

Regions :輸入區域

Phi, 輸出角度,就是區域不對稱的旋轉角度。也就是外接矩形的角

968c399c-d60f-11ed-bfe3-dac502259ad0.png

disp_cross (WindowID, RowCenterRegion, ColumnCenterRegion, 15, 0)

disp_arrow (WindowID, RowCenterRegion, ColumnCenterRegion, RowCenterRegion - 60 * sin(OrientationRegion), ColumnCenterRegion + 60 * cos(OrientationRegion), 2)

顯示十字叉、箭頭。

三、邊緣提取算子

3.1 edges_sub_pix

edges_sub_pix 使用遞歸實現的濾波器(根據 Deriche、Lanser 和 Shen)或 Canny 提出的傳統實現的“高斯導數”濾波器(使用濾波器掩碼)檢測階梯邊緣。

1)算子形式

edges_sub_pix(Image : Edges : Filter, Alpha, Low, High : )

2)參數解釋

Image : 輸入圖像

Edges : 輸出邊緣像素

Filter,:算法選擇,可選擇算法是【'deriche1', 'lanser1', 'deriche2', 'lanser2', 'shen', 'mshen', 'canny', 'sobel', and 'sobel_fast'】

Alpha,

Low,

High :

3)參數詳細

edges_sub_pix 使用遞歸實現的濾波器(根據 Deriche、Lanser 和 Shen)或 Canny 提出的傳統實現的“高斯導數”濾波器(使用濾波器掩碼)檢測階梯邊緣。因此,可以使用以下邊緣運算符:“deriche1”、“lanser1”、“deriche2”、“lanser2”、“shen”、“mshen”、“canny”、“sobel”和“sobel_fast”

(參數過濾器)。

提取的邊緣在 Edges 中作為亞像素精確的 XLD 輪廓返回。對于除 'sobel_fast' 之外的所有邊緣運算符,為每個邊緣點定義了以下屬性(參見 get_contour_attrib_xld):

'edge_direction' 邊緣方向

'angle' 法線向量到輪廓的方向(當輪廓從起點到終點遍歷時,法線向量指向輪廓的右側;角度是相對于圖像的行軸給出的) .)

“響應”邊緣幅度(梯度幅度)

除了'sobel'和'sobel_fast'之外的所有邊緣算子的“濾波器寬度”(即平滑量)可以任意選擇,可以通過調用info_edges來估計參數Alpha的具體值。對于所有過濾器(Deriche、Lanser 和 Shen 過濾器),“過濾器寬度”隨著 Alpha 的增加而減小。唯一的例外是 Canny 過濾器,其中增加的 Alpha 也會導致“過濾器寬度”的增加。“寬”濾波器對噪聲表現出更大的不變性,但檢測小細節的能力也有所下降。非遞歸過濾器,例如 Canny 過濾器,是使用過濾器掩碼實現的,因此增加過濾器寬度會增加執行時間。相反,遞歸過濾器的執行時間不取決于過濾器的寬度。因此,使用 Derche、Lanser 和 Shen 過濾器可以實現任意過濾器寬度,而不會增加操作員的運行時間。與 Canny 算子相比,由此產生的速度優勢自然會隨著更大的過濾器寬度而增加。作為邊界處理,遞歸算子假設圖像在圖像之外為零,而 Canny 算子在圖像邊界處重復灰度值。可通過以下 Alpha 選擇獲得可比較的過濾器寬度:

3.2 get_contour_attrib_xld

獲取線段的屬性特征參數值。

1)算子格式

get_contour_attrib_xld(Contour : : Name : Attrib)

2)參數解釋

Contour:輸入曲線對象XLD

Name:屬性名稱,值域為【 'regr_norm_row', 'regr_norm_col', 'regr_mean_dist', 'regr_dev_dist', 'cont_approx', 'bright_dark', 'is_hole'】

Attrib:輸出屬性值,1表示肯定,0表示否定

3)參數詳細

用query_contour_global_attribs_xld(SingleSegment,Attribs)函數可以獲取屬性,只有【cont_approx】一項,因此,其它選項都不能用。

Name參數的值的意義:

cont_approx:有曲率的曲線,此時,Attrib=-1,直線;Attrib=0,橢圓;Attrib=1,圓

四、距離測量項目

4.1 項目描述

在下列工件中,測量出四個圓周的圓心之間距離。項目需要以下知識點:

如何區域生成?

如何邊緣提取?

如何xld生成

如何xld分段?

xld分段如何訪問?

如何獲取曲線特征參數?

如何中心點距離測量?

4.2 參考代碼

read_image (Image, 'metal-parts/metal-parts-01')

get_image_size (Image, Width, Height)

dev_close_window ()

dev_open_window (0, 0, Width, Height, 'light gray', WindowID)

dev_set_draw ('fill')

threshold (Image, Region, 100, 255)

clear_window(WindowID)

disp_region(Region, WindowID)

edges_sub_pix (Image, Edges, 'canny', 0.6, 30, 70)

segment_contours_xld (Edges, ContoursSplit, 'lines_circles', 6, 4, 4)

dev_clear_window ()

dev_set_colored (12)

dev_display (ContoursSplit)

count_obj (ContoursSplit, NumSegments)

dev_display (Image)

NumCircles := 0

RowsCenterCircle := []

ColumnsCenterCircle := []

for i := 1 to NumSegments by 1

select_obj (ContoursSplit, SingleSegment, i)

get_contour_global_attrib_xld (SingleSegment, 'cont_approx', Attrib)

if (Attrib == 1)

NumCircles := NumCircles + 1

fit_circle_contour_xld (SingleSegment, 'atukey', -1, 2, 0, 5, 2, Row, Column, Radius, StartPhi, EndPhi, PointOrder)

gen_circle_contour_xld (ContCircle, Row, Column, Radius, 0, rad(360), 'positive', 1)

RowsCenterCircle := [RowsCenterCircle,Row]

ColumnsCenterCircle := [ColumnsCenterCircle,Column]

dev_display (ContCircle)

endif

endfor

distance_pp (RowsCenterCircle[1], ColumnsCenterCircle[1], RowsCenterCircle[2], ColumnsCenterCircle[2], Distance_2_3)

distance_pp (RowsCenterCircle[0], ColumnsCenterCircle[0], RowsCenterCircle[2], ColumnsCenterCircle[2], Distance_1_3)

distance_pp (RowsCenterCircle[3], ColumnsCenterCircle[3], RowsCenterCircle[4], ColumnsCenterCircle[4], Distance_4_5)

編輯:黃飛

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

    關注

    160

    文章

    7731

    瀏覽量

    177695
  • 算法
    +關注

    關注

    23

    文章

    4600

    瀏覽量

    92649
  • HALCON
    +關注

    關注

    16

    文章

    64

    瀏覽量

    27189

原文標題:halcon案例01 】金屬工件幾何測量

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

收藏 人收藏

    評論

    相關推薦

    基于圖像處理技術的螺紋幾何參數測量系統設計

    檢測、幾何參數計算等步驟,實現了對螺紋幾何參數的自動測量。通過大量實驗證明,該系統具有快捷高效、數據可靠、易于操作、替代傳統人工操作的優點,有效提高了批量工件檢測的自動化水平,具有重要
    的頭像 發表于 01-15 11:13 ?839次閱讀
    基于圖像處理技術的螺紋<b class='flag-5'>幾何</b>參數<b class='flag-5'>測量</b>系統設計

    labview調用halcon軟件包

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

    labview 視覺機器人抓取工件 如何測量工件偏轉角度

    請教大神:labview機器視覺中已經建立CCD相機的坐標系,那如何測量矩形工件相對于X軸擺放的角度?
    發表于 10-10 11:08

    labview與halcon連用

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

    測徑儀測量芯棒多種幾何尺寸

    及允許公差等;實時直徑、測量位置距離固定尾座側端面的長度(距離)等。測量時顯示直徑和長度對應的尺寸波動曲線,工件錐度的計算值。當測量數據處于設定的合格范圍內時,
    發表于 11-28 09:57

    微小工件輪廓測量用影像測量

    不同倍率下的鏡頭通過量不同,在相同的照明條件下,低倍率鏡頭下可正常觀察,但高倍率鏡頭下就會變暗。一鍵式自動影像測量儀的校準片,能自動實現所有參數的校準和校驗,各個倍率一致性在1um以內,微小工件輪廓
    發表于 07-20 09:01

    光學3D表面輪廓儀可以測金屬嗎?

    重建物體的三維模型。這種測量方式具有非接觸性、高精度、高速度等優點,非常適合用于金屬等材料的表面測量。 光學3D表面輪廓儀可以測量金屬的形狀
    發表于 08-21 13:41

    車刀幾何角度的測量

    車刀幾何角度的測量 一 、實驗目的1、通過實驗鞏固和加深對車刀幾何角度的標準坐標系平面與車刀幾何角度坐標系的基本定義
    發表于 05-15 00:37 ?1w次閱讀

    【光譜共焦傳感器案例分享】金屬內壁輪廓掃描測量

    工件加工后需通過量具或儀器對其進行精度檢測,確定是否合格,但是有些工件受其形狀的影響,輪廓是由許多不同的幾何要素所組成的,如直線、圓弧、二次曲線等,可能無法對其進行測量或是
    的頭像 發表于 01-03 16:01 ?756次閱讀
    【光譜共焦傳感器案例分享】<b class='flag-5'>金屬</b>內壁輪廓掃描<b class='flag-5'>測量</b>

    Halcon中的測量工具之Metrology介紹

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

    光柵測長機測量工件外徑步驟及注意事項

    中圖SJ5100光柵測長機是一種可以測量工件外徑的儀器,其原理是利用比較法進行測量。當工件放置在測長機的測量范圍內時,通過移動滑塊,使
    的頭像 發表于 07-20 13:35 ?908次閱讀
    光柵測長機<b class='flag-5'>測量</b><b class='flag-5'>工件</b>外徑步驟及注意事項

    閃測儀如何測量工件尺寸的?

    閃測儀是一種常用的測量工具,可用于測量工件的尺寸。它是一種利用圖像處理、數據分析等技術進行尺寸測量的儀器。具有的高精度測量能力,能夠準確地
    的頭像 發表于 08-15 10:31 ?1113次閱讀
    閃測儀如何<b class='flag-5'>測量</b><b class='flag-5'>工件</b>尺寸的?

    激光跟蹤儀在超大型工件空間測量中的應用,你了解多少?

    在超大型工件的空間測量中,激光跟蹤儀可對大尺度空間內的點、線、面、曲面等幾何特征進行精確測量;能夠根據合作目標的精確空間姿態對被測工件的內部
    的頭像 發表于 11-20 11:37 ?670次閱讀
    激光跟蹤儀在超大型<b class='flag-5'>工件</b>空間<b class='flag-5'>測量</b>中的應用,你了解多少?

    幾何尺寸測量工具介紹

    傳統的幾何尺寸測量儀器設備包括千分尺、角度尺、游標卡尺等,這些儀器能夠滿足一般的幾何測量需求。但是隨著科技的發展,越來越多高精度測量儀器被
    的頭像 發表于 12-26 17:16 ?1065次閱讀
    <b class='flag-5'>幾何</b>尺寸<b class='flag-5'>測量</b>工具介紹

    復雜工件的高效測量方案:自動化三坐標測量與影像測量技術集成

    在現代制造業的快速發展中,復雜工件的精密測量成為了質量控制的關鍵。隨著工業4.0的推進,自動化技術與精密測量設備的結合,為生產效率和產品質量的提升提供了新的解決方案。全自動化三坐標測量
    的頭像 發表于 08-30 16:49 ?480次閱讀
    復雜<b class='flag-5'>工件</b>的高效<b class='flag-5'>測量</b>方案:自動化三坐標<b class='flag-5'>測量</b>與影像<b class='flag-5'>測量</b>技術集成