HALCON示例程序measure_pump.hdev螺紋孔位置與尺寸測量

HALCON示例程序measure_pump.hdev螺紋孔位置與尺寸測量

示例程序源碼(加注釋)

  • 關于顯示類函數解釋
    dev_update_var (‘off’)
    dev_update_off ()
    read_image (Image, ‘pumpe’)
    get_image_size (Image, Width, Height)
    dev_close_window ()
    dev_open_window (0, 0, Width, Height, ‘light gray’, WindowID)
    dev_set_part (0, 0, Height - 1, Width - 1)
    dev_set_line_width (1)
    dev_set_color (‘red’)
    dev_set_draw (‘margin’)
    dev_display (Image)
    set_display_font (WindowID, 16, ‘mono’, ‘true’, ‘false’)
    disp_continue_message (WindowID, ‘black’, ‘true’)
    stop ()
  • 快速二值化、篩選區域、輪廓變換、膨脹、縮小定義域、求邊界
    fast_threshold (Image, Region, 0, 70, 150)
    dev_set_colored (3)
    connection (Region, ConnectedRegions)
    select_shape (ConnectedRegions, SelectedRegions, [‘outer_radius’,‘anisometry’,‘area’], ‘and’, [5,1,100], [50,1.8,99999])
    shape_trans (SelectedRegions, RegionTrans, ‘outer_circle’)
    dilation_circle (RegionTrans, RegionDilation, 5.5)
    union1 (RegionDilation, RegionUnion)
    reduce_domain (Image, RegionUnion, ImageReduced)
    dev_clear_window ()
    dev_display (ImageReduced)
    disp_continue_message (WindowID, ‘black’, ‘true’)
    stop ()
    threshold_sub_pix (ImageReduced, Border, 80)
  • 邊界篩選
    select_shape_xld (Border, SelectedXLD, [‘contlength’,‘outer_radius’], ‘and’, [70,15], [99999,99999])
  • 分割
    segment_contours_xld (SelectedXLD, ContoursSplit, ‘lines_circles’, 4, 2, 2)
  • 在進行篩選
    select_shape_xld (ContoursSplit, SelectedXLD3, [‘outer_radius’,‘contlength’], ‘and’, [15,30], [45,99999])
  • 合并處于同一圓的xld輪廓
    union_cocircular_contours_xld (SelectedXLD3, UnionContours2, 0.5, 0.1, 0.2, 2, 10, 10, ‘true’, 1)
  • 對xld輪廓進行排序
    sort_contours_xld (UnionContours2, SortedContours, ‘upper_left’, ‘true’, ‘column’)
    dev_clear_window ()
    dev_set_color (‘white’)
    dev_display (ImageReduced)
    dev_display (SortedContours)
    disp_continue_message (WindowID, ‘black’, ‘true’)
    stop ()
    count_obj (SortedContours, NumSegments)
    dev_display (Image)
    dev_display (SortedContours)
    NumCircles := 0
    disp_message (WindowID, ‘Circle radius and average distance’, ‘window’, 10, 10, ‘white’, ‘false’)
    disp_message (WindowID, ‘between circle and contour:’, ‘window’, 30, 10, ‘white’, ‘false’)
for i := 1 to NumSegments by 1select_obj (SortedContours, SingleSegment, i)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)dev_display (ContCircle)* 計算輪廓到橢圓距離dist_ellipse_contour_xld (SingleSegment, 'algebraic', -1, 0, Row, Column, 0, Radius, Radius, MinDist, MaxDist, AvgDist, SigmaDist)disp_message (WindowID, NumCircles, 'window', Row - 10, Column - 5, 'white', 'false')disp_message (WindowID, 'R' + NumCircles + ': ' + Radius$'.3', 'window', (i - 1) * 50 + 30, 450, 'white', 'false')disp_message (WindowID, 'D_avg: ' + AvgDist$'.3', 'window', ((i - 1) * 50) + 50, 450, 'white', 'false')
endfor

dev_update_window (‘on’)

處理思路

這個例子是主要講解了邊緣提取,計算尺寸與位置。

后記

大家有什么問題可以向我提問哈,我看到了第一時間回復,希望在學習的路上多多結交良師益友。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/254960.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/254960.shtml
英文地址,請注明出處:http://en.pswp.cn/news/254960.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

計算機視覺和圖形學中的攝像機內參數矩陣詳解

在計算機視覺和圖形學中都有“攝像機內參數矩陣”這個概念,其含義大致相同,但在實際使用過程中,這兩個矩陣卻相差甚遠。在增強現實中,為了使計算機繪制的虛擬物體和真實環境圖像對其,需要令虛擬攝像機的內參數和真實攝…

c#和html方法互調

具體見連接:https://www.cnblogs.com/zeroLove/p/3912460.html轉載于:https://www.cnblogs.com/gaara-zhang/p/8746403.html

數據庫基礎雜記

sql,Structured Query Language結構化查詢語言。SQL 是一門 ANSI(美國國家標準局) 的標準計算機語言,用來訪問和操作數據庫系統。SQL 語句用于取回和更新數據庫中的數據。SQL 可與數據庫程序協同工作,比如 MS Access、DB2、Informix、MS SQL Server、Ora…

很有用的X264和ffmpeg的設置

很有用的X264和FFMPEG的設置 http://www.360doc.com/content/11/0209/16/3705984_91612512.shtml 點擊打開鏈接

HALCON示例程序measure_ring.hdev齒輪齒寬度測量

HALCON示例程序measure_ring.hdev齒輪齒寬度測量 示例程序源碼(加注釋) 關于顯示類函數解釋 read_image (Image, ‘rings_and_nuts’) dev_close_window () dev_open_window_fit_image (Image, 0, 0, 640, 640, WindowHandle) set_display_font (Windo…

基于RBGD的mapping

最近學習RGBD的SLAM,收集了兩個RGBD的mapping的開源工具包 1.RGBDSlam2 a.安裝方法: #準備工作空間 source /opt/ros/indigo/setup.bash mkdir -p ~/rgbdslam_catkin_ws/src cd ~/rgbdslam_catkin_ws/src catkin_init_workspace cd ~/rgbdslam_catkin_ws…

【瓜分5000元獎金】Wannafly挑戰賽13

鏈接:https://www.nowcoder.com/acm/contest/80/A來源:牛客網 zzy的小號 時間限制:C/C 1秒,其他語言2秒空間限制:C/C 262144K,其他語言524288K64bit IO Format: %lld題目描述 學家zzy根據字體的特點&#…

X264參數設定詳細解釋

x264 core:65 r1074M b6bb3d4 Syntax: x264 [options] -o outfile infile [widthxheight] 語法(命令行寫法):x264 [參數] -o 輸出文件名 輸入文件名 [寬x高] 范例: x264 --crf 26 --ref 3 --mixed-refs --bframes 3 --b-adapt 2 --b-pyramid --weightb -…

20145217《網絡對抗》 惡意代碼分析

20145217《網絡對抗》 免殺原理與實踐 知識點學習總結 進行惡意代碼分析之前必須具備以下知識:編程、匯編/反匯編、網絡基本知識、PE文件結構以及一些常用行為分析軟件。 一、在一個已經感染了惡意代碼的機器上如何找到病毒文件? 找到惡意代碼才能對其分…

HALCON示例程序measure_screw.hdev螺紋尺寸測量

HALCON示例程序measure_screw.hdev螺紋尺寸測量 示例程序源碼(加注釋) 關于顯示類函數解釋 dev_update_off () read_image (Image, ‘screw_thread’) get_image_pointer1 (Image, Pointer, Type, Width, Height) dev_close_window () dev_open_window…

邊工作邊刷題:70天一遍leetcode: day 97-2

Design Hit Counter 要點:因為是second granularity,所以可以用以秒為單位的circular buffer方法。這題簡單在只需要count過去300秒的,增加難度可以count過去秒,分鐘,小時。 2個時間點都有可能更新超時的統計&#xff…

cvRemap 對圖像進行普通幾何變換

cvRemap 對圖像進行普通幾何變換 函數 cvRemap 利用下面指定的矩陣變換輸入圖像:   dst(x,y)<-src(mapx(x,y),mapy(x,y))   與其它幾何變換類似&#xff0c;可以使用一些插值方法&#xff08;由用戶指定&#xff0c;同cvResize&#xff09;來計算非整數坐標的像素值 vo…

disconf(二):服務端使用總結

1、服務端原理客戶端啟動&#xff0c;把配置文件&#xff0c;配置項存到倉庫&#xff0c;等到服務端啟動&#xff0c;從服務端拉取數據&#xff1b;服務端更新&#xff0c;則通過zk通知客戶端&#xff0c;客戶端知道更新后&#xff0c;會從服務端拉取最新的配置文件&#xff0c…

B2C和B2B之間有多大差距

從產品應用的角度&#xff0c;我們團隊經歷了企圖將B2C系統套用到B2B業務流程上的階段&#xff0c;對于自營業務這還勉強可以實施&#xff0c;但對于外部用戶的實施難度就太大了&#xff0c;用戶體驗也不好。這個過程中&#xff0c;我只關注了技術范疇的迭代速度、而忽略了用戶…

h.264 視頻解碼的一點小經驗(ffmpeg)

最近做視頻文件264解碼&#xff0c;由于對這個領域不是很熟悉&#xff0c;感覺困難重重。不過經過不懈的努力&#xff0c;已經取得一些進展&#xff0c;心里感覺特別慶幸。 剛開始做這個的時候&#xff0c;由于不熟悉&#xff0c;就在網上搜尋資料&#xff0c;網絡上的資料雖然…

HALCON示例程序novelty_detection_dyn_threshold.hdev紗網缺陷檢測

HALCON示例程序novelty_detection_dyn_threshold.hdev紗網缺陷檢測 示例程序源碼&#xff08;加注釋&#xff09; 關于顯示類函數解釋 dev_update_window (‘off’) read_image (Image, ‘plastic_mesh/plastic_mesh_01’) dev_close_window () get_image_size (Image, Width…

配置云服務器 FTP 服務

自己配置的環境: OS: 阿里云 CentOS 6.5 >>Begin: 1. 登錄到阿里云服務器(如何登錄阿里云服務器), 在root權限下, 通過如下命令安裝 vsftp [rootVM_250_202_tlinux ~]# yum install vsftpd 2. 在啟動vsftpd服務之前&#xff0c;需要登錄云服務器修改配置文件&#xff0c;…

【躍遷之路】【428天】程序員高效學習方法論探索系列(實驗階段185-2018.04.09)...

(躍遷之路)專欄 實驗說明 從2017.10.6起&#xff0c;開啟這個系列&#xff0c;目標只有一個&#xff1a;探索新的學習方法&#xff0c;實現躍遷式成長實驗期2年&#xff08;2017.10.06 - 2019.10.06&#xff09;我將以自己為實驗對象。我將開源我的學習方法&#xff0c;方法不斷…

opencv中的一些陷阱 坑死我了~~~~(_)~~~~

1.這幾天被opencv給坑的夠慘&#xff0c;好好的程序&#xff0c;先是因為imread&#xff08;&#xff09;不能讀文件&#xff0c;整了很久沒整出來&#xff0c;然后改了下path路徑&#xff0c;沒想到后面徹底奔潰了&#xff0c;&#xff0c;&#xff0c;&#xff0c;前后大概2天…

一篇需要膜拜的文篇--Javascript異步編程模型進化(轉)

要我能用得這么熟&#xff0c; 那前端出師了哈。 http://foio.github.io/javascript-asyn-pattern/ 改天一個一個親測一下。 Javascript語言是單線程的&#xff0c;沒有復雜的同步互斥&#xff1b;但是&#xff0c;這并沒有限制它的使用范圍&#xff1b;相反&#xff0c;借助于…