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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

Halcon例程之圓弧測量工具分析

機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 來源:機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 2023-03-21 13:39 ? 次閱讀

* Example for the application of the measure package

* including a lot of visualization operators

*

*讀取圖像

read_image (Zeiss1, 'zeiss1')

get_image_size (Zeiss1, Width, Height)

dev_close_window ()

dev_open_window (0, 0, Width / 2, Height / 2, 'black', WindowHandle)

set_display_font (WindowHandle, 14, 'mono', 'true', 'false')

*顯示圖像

dev_display (Zeiss1)

disp_continue_message (WindowHandle, 'black', 'true')

stop ()

*在圖像上相應(yīng)位置繪制圓,這里用固定變量的方法產(chǎn)生圓的參數(shù),把這個(gè)圓繪制代碼注釋掉了。這個(gè)圓用于后面的測量工具上

* draw_circle (WindowHandle, Row, Column, Radius)

*定義變量用于生成圓,如果手動(dòng)繪制就不需要用下面的變量了

Row := 275

Column := 335

Radius := 107

AngleStart := -rad(55)

AngleExtent := rad(170)

dev_set_draw ('fill')

dev_set_color ('green')

dev_set_line_width (1)

*獲取圓弧的起始坐標(biāo)

get_points_ellipse (AngleStart + AngleExtent, Row, Column, 0, Radius, Radius, RowPoint, ColPoint)

*顯示圓弧

disp_arc (WindowHandle, Row, Column, AngleExtent, RowPoint, ColPoint)

dev_set_line_width (3)

*生成圓弧測量工具

*前五個(gè)參數(shù)是圓弧的位置相關(guān)輸入?yún)?shù)

*第六個(gè)參數(shù)是需要生成的測量圓弧工具的寬度,即一個(gè)圓弧區(qū)域的寬度,在這里整個(gè)測量區(qū)域是半徑-10到半徑+10這個(gè)區(qū)域范圍

*第七第八個(gè)參數(shù)是圖像寬高

*第九個(gè)參數(shù)是插值方式,這里是用最近鄰插值方式

*最后一個(gè)輸出參數(shù)是測量工具的句柄,后面需要用到這個(gè)測量工具都通過句柄引用

gen_measure_arc (Row, Column, Radius, AngleStart, AngleExtent, 10, Width, Height, 'nearest_neighbor', MeasureHandle)

disp_continue_message (WindowHandle, 'black', 'true')

stop ()

*計(jì)算算法時(shí)間

count_seconds (Seconds1)

n := 10

for i := 1 to n by 1

*第一個(gè)參數(shù)是輸入圖像

*第二個(gè)參數(shù)是測量工具句柄值

*第三個(gè)參數(shù)是高斯平滑的sigma值

*第四個(gè)參數(shù)是閾值

*第五個(gè)參數(shù)是測量的邊緣方向選擇參數(shù),'all'是選擇所有的邊緣,'negative'只選擇白到黑的邊緣,'positive'只選擇黑到白的邊緣

*這里兩個(gè)邊緣都選擇總共選擇出4個(gè)像素差值邊緣

*第六個(gè)參數(shù)是是否選擇端點(diǎn),這里選擇所有端點(diǎn)

*第七個(gè)參數(shù)是輸出的邊緣點(diǎn)行坐標(biāo)值

*第八個(gè)參數(shù)是輸出的邊緣點(diǎn)列坐標(biāo)值

*第九個(gè)參數(shù)是輸出的邊緣點(diǎn)最大幅值

*第十個(gè)參數(shù)是輸出的相鄰邊緣之間的距離

measure_pos (Zeiss1, MeasureHandle, 1, 10, 'all', 'all', RowEdge, ColumnEdge, Amplitude, Distance)

endfor

count_seconds (Seconds2)

Time := (Seconds2 - Seconds1) / n

disp_continue_message (WindowHandle, 'black', 'true')

* stop ()

*計(jì)算兩個(gè)點(diǎn)間的距離

distance_pp (RowEdge[1], ColumnEdge[1], RowEdge[2], ColumnEdge[2], IntermedDist)

* dev_display (Zeiss1)

dev_set_color ('red')

* disp_circle (WindowHandle, RowEdge, ColumnEdge, RowEdge - RowEdge + 1)

*顯示測量出來的直線

disp_line (WindowHandle, RowEdge[1], ColumnEdge[1], RowEdge[2], ColumnEdge[2])

dev_set_color ('yellow')

disp_message (WindowHandle, 'Distance: ' + IntermedDist, 'image', 250, 80, 'yellow', 'false')

* dump_window (WindowHandle, 'tiff_rgb', 'C:\Temp\zeiss_result')

dev_set_line_width (1)

* disp_continue_message (WindowHandle, 'black', 'true')

stop ()

dev_clear_window ()

打開halcon,按下ctrl+e打開halcon自帶例程。工業(yè)領(lǐng)域->機(jī)械行業(yè)->measure_arc.hdev

這個(gè)例程是用圓弧測量工具測量圓弧的長度,較短的一段圓弧可以大約等長與直線,但大圓弧是不能等長于直線的,比如歷程中兩個(gè)凹坑處的圓弧長度這里同樣是可以測量出來的。

圓弧測量的原理與矩形測量的原理是一樣的,把圓弧區(qū)域用插值的方式轉(zhuǎn)換到矩形區(qū)域空間,在矩形主方向上做灰度值差分,得到差分圖像,找出差分值大于設(shè)定閾值的點(diǎn)位置。






審核編輯:劉清

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

    關(guān)注

    27

    文章

    1272

    瀏覽量

    56501
  • HALCON
    +關(guān)注

    關(guān)注

    16

    文章

    63

    瀏覽量

    27147

原文標(biāo)題:Halcon例程分析6:圓弧測量工具

文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

    下面有沒有類的功能,可以讓Vison生成的二維數(shù)組傳給halcon,halcon將二維數(shù)組轉(zhuǎn)成圖像做處理,處理完了以后再轉(zhuǎn)成二維數(shù)組導(dǎo)出來傳給Vision呢? 各位大大有沒有在halcon下面開發(fā)過類似的程序呢?有沒有類似的
    發(fā)表于 06-29 11:13

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

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

    labview與halcon連用

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

    CAD中怎么創(chuàng)建圓弧?CAD圓弧快捷鍵應(yīng)用技巧

    [圓心(C)],接著繼續(xù)指定圓弧的第二個(gè)點(diǎn)或[圓心(C)/端點(diǎn)(E)],即可完成圓弧的繪制了。如下圖所示:除了使用CAD圓弧快捷鍵命令以外,還可以通過菜單欄和工具欄來調(diào)用
    發(fā)表于 05-10 13:54

    Halcon9.0編程技術(shù)詳解

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

    C#教程之HELLO第一個(gè)例程

    C#教程之HELLO第一個(gè)例程,很好的C#的資料,快來學(xué)習(xí)吧。
    發(fā)表于 04-25 15:49 ?7次下載

    反饋路徑測量工具

    以用來限制增益或確定如果需要反饋管理策略。FB路徑測量工具由嵌入式例程內(nèi)運(yùn)行的數(shù)字放大器以及控制測量的軟件例程提取實(shí)測反饋路徑信息。說明如何
    發(fā)表于 03-30 08:40 ?8次下載
    反饋路徑<b class='flag-5'>測量</b><b class='flag-5'>工具</b>

    LabVIEW初級(jí)教程之數(shù)組和簇的相關(guān)例程免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是LabVIEW初級(jí)教程之數(shù)組和簇的相關(guān)例程免費(fèi)下載。
    發(fā)表于 01-15 09:59 ?22次下載
    LabVIEW初級(jí)教<b class='flag-5'>程之</b>數(shù)組和簇的相關(guān)<b class='flag-5'>例程</b>免費(fèi)下載

    Arduino的實(shí)驗(yàn)例程之紅外遙控實(shí)驗(yàn)

    本文檔的主要內(nèi)容詳細(xì)介紹的是Arduino的實(shí)驗(yàn)例程之紅外遙控實(shí)驗(yàn)。
    發(fā)表于 02-25 16:36 ?49次下載
    Arduino的實(shí)驗(yàn)<b class='flag-5'>例程之</b>紅外遙控實(shí)驗(yàn)

    Arduino的實(shí)驗(yàn)例程之點(diǎn)陣實(shí)驗(yàn)的詳細(xì)資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是Arduino的實(shí)驗(yàn)例程之點(diǎn)陣實(shí)驗(yàn)的詳細(xì)資料說明。
    發(fā)表于 02-25 16:36 ?14次下載

    Arduino的實(shí)驗(yàn)例程之虛擬鼠標(biāo)實(shí)驗(yàn)

    本文檔的主要內(nèi)容詳細(xì)介紹的是Arduino的實(shí)驗(yàn)例程之虛擬鼠標(biāo)實(shí)驗(yàn)。
    發(fā)表于 02-25 16:37 ?14次下載

    Arduino的實(shí)驗(yàn)例程之直流電機(jī)驅(qū)動(dòng)

    本文檔的主要內(nèi)容詳細(xì)介紹的是Arduino的實(shí)驗(yàn)例程之直流電機(jī)驅(qū)動(dòng)免費(fèi)下載。
    發(fā)表于 02-25 17:39 ?22次下載

    Arduino的實(shí)驗(yàn)例程之串口中斷的程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是Arduino的實(shí)驗(yàn)例程之串口中斷的程序免費(fèi)下載。
    發(fā)表于 02-25 17:39 ?13次下載

    Halcon中的測量工具之Metrology介紹

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