HALCON示例程序find_pads.hdev通過fit_rectangle2_contour_xld繪制精準輪廓

HALCON示例程序find_pads.hdev通過fit_rectangle2_contour_xld繪制精準輪廓

示例程序源碼(加注釋)

  • 關于顯示類函數解釋
    dev_update_pc (‘off’)
    dev_update_window (‘off’)
    dev_update_var (‘off’)
    read_image (Image, ‘die_pads’)
    dev_close_window ()
    get_image_size (Image, Width, Height)
    dev_open_window (0, 0, Width * 2, Height * 2, ‘black’, WindowHandle)
    dev_set_part (0, 0, Height - 1, Width - 1)
  • fast_threshold - 使用全局閾值快速閾值處理圖像。
  • fast_threshold(圖片:區域:最小灰度值,最大灰度值,最小閾值分割值:)
    fast_threshold (Image, Region, 180, 255, 20)
  • 分割連通域
    connection (Region, ConnectedRegions)
  • 使面積與長短軸比值篩選區域
    select_shape (ConnectedRegions, SelectedRegions, [‘area’,‘anisometry’], ‘and’, [200,1], [1200,2])
    fill_up (SelectedRegions, RegionFillUp)
  • 求取最大邊界
    shape_trans (RegionFillUp, RegionTrans, ‘convex’)
  • boundary - 將區域縮小到其邊界。
  • boundary(區域:區域邊界:邊界種類 ?
    boundary (RegionTrans, RegionBorder, ‘inner’)
  • 使用圓形元素對區域進行膨脹
    dilation_circle (RegionBorder, RegionDilation, 2.5)
    union1 (RegionDilation, RegionUnion)
  • 減少圖片定義域
    reduce_domain (Image, RegionUnion, ImageReduced)
  • 求取邊界
    edges_sub_pix (ImageReduced, Edges, ‘sobel_fast’, 0.5, 20, 40)
  • 使用長度篩選邊界
    select_shape_xld (Edges, SelectedContours, ‘contlength’, ‘and’, 10, 200)
  • union_adjacent_contours_xld - 計算端點靠近的輪廓的并集。
  • union_adjacent_contours_xld(邊緣:合并邊緣:最大絕對距離,最大長度相對距離,模式:)
    union_adjacent_contours_xld (SelectedContours, UnionContours, 2, 1, ‘attr_keep’)
  • fit_rectangle2_contour_xld - 擬合XLD輪廓為矩形。
    fit_rectangle2_contour_xld (UnionContours, ‘tukey’, -1, 0, 0, 3, 2, Row, Column, Phi, Length1, Length2, PointOrder)
  • gen_rectangle2_contour_xld - 創建矩形形狀的XLD輪廓。
    gen_rectangle2_contour_xld (Rectangle, Row, Column, Phi, Length1, Length2)
    dev_display (Image)
    dev_set_colored (12)
    dev_display (Rectangle)

處理思路

這個例子是主要講解了如何利用邊緣提取與矩形擬合進行精確定位。使用了fast_threshold進行閾值分割,boundary并dilation_circle得到邊界圖像,使用edges_sub_pix進行邊緣提取,select_shape_xld篩選邊界,fit_rectangle2_contour_xld邊界矩形擬合,gen_rectangle2_contour_xld繪制邊緣輪廓。

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

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

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

相關文章

IDEA將項目上傳至碼云/GitHub托管

前言 好久都沒有寫博客了,由于博主之前一直都在上班處于加班的階段,所以根本就沒有時間去學習。現在請假回到學校寫論文,有時間來學習了。 所以會不斷的進行博客的更新,以及分享我在公司學到的一些新的技術,希望大家多…

BZOJ 1937: [Shoi2004]Mst 最小生成樹 [二分圖最大權匹配]

傳送門 題意: 給一張無向圖和一棵生成樹,改變一些邊的權值使生成樹為最小生成樹,代價為改變權值和的絕對值,求最小代價 線性規劃的形式: $Min\quad \sum\limits_{i1}^{m} \delta_i$ $Sat\quad $非樹邊邊權$\ge$生成樹上…

找bug

1.在輸入數據按保存鍵后不知道數據是否已經存入數據庫。 修改:增加一個對數據庫的監聽事件來監聽數據庫是否發生變化。 2.空數據也能保存成功。 修改:增加一個監聽事件來檢測是否輸入數據。 3.在輸入框中輸入不否和輸入框對數據的要求,但不提…

HALCON示例程序forest.hdev識別森林中的樹

HALCON示例程序forest.hdev識別森林中的樹 示例程序源碼(加注釋) 關于顯示類函數解釋 dev_close_window () dev_update_window (‘off’) read_image (Forest, ‘forest_air1’) get_image_size (Forest, Width, Height) dev_open_window (0, 0, Width…

Hadoop學習之路(十八)MapReduce框架Combiner分區

對combiner的理解 combiner其實屬于優化方案,由于帶寬限制,應該盡量map和reduce之間的數據傳輸數量。它在Map端把同一個key的鍵值對合并在一起并計算,計算規則與reduce一致,所以combiner也可以看作特殊的Reducer。 執行combiner操…

cocos2dx游戲--歡歡英雄傳說--添加攻擊按鈕

接下來添加攻擊按鈕用于執行攻擊動作。同時修復了上一版移動時的bug。修復后的Player::walkTo()函數: void Player::walkTo(Vec2 dest) {if (_seq)this->stopAction(_seq);auto curPos this->getPosition();if (curPos.x > dest.x)this->setFlippedX(t…

Yii2.0 rules常用驗證規則

設置一個修改方法,但是save(),沒有成功,數據修改失敗,查了好久,一般情況就是不符合rules規則,而我沒有設置rules規則,重新設置了一個不能為空,然后就修改成功…

HALCON示例程序gray_features.hdev提取灰度圖的不同特征(area_center_gray 、elliptic_axis_gray)

HALCON示例程序gray_features.hdev提取灰度圖的不同特征(area_center_gray 、elliptic_axis_gray) 示例程序源碼(加注釋) 讀入圖片 read_image (Image, ‘monkey’)二值化 threshold (Image, Region, 128, 255)分割連通域 conne…

Machine Vision Pixel Calibration~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Artificial Intelligence and Robotics Research人工智能與機器人研究, 2014, 3, 25-33Published Online May 2014 in Hans. http://www.hanspub.org/journal/airrhttp://dx.doi.org/10.12677/airr.2014.32005

Ceph分布式存儲系統-性能測試與優化

測試環境 部署方案:整個Ceph Cluster使用4臺ECS,均在同一VPC中,結構如圖: 以下是 Ceph 的測試環境,說明如下: Ceph 采用 10.2.10 版本,安裝于 CentOS 7.4 版本中;系統為初始安裝&…

mysql考試總結

USE school; -- 班級表 CREATE TABLE class(cid TINYINT PRIMARY KEY AUTO_INCREMENT,caption VARCHAR(20) );INSERT INTO class(caption) VALUES("三年二班"),("一年三班"),("三年一班");SELECT * FROM class;-- 老師表 CREATE TABLE teacher(t…

反思

1.說明一下ArrayList和數組的區別,并且分別寫出初始化的語句: ArrayList:可以放不同的類型,長度不固定 數組:放同一類型,長度固定 數組的初始化語句:int []anew int []{}; ArrayList初始化語句:…

HALCON示例程序high.hdev使用不同方法提取區域

HALCON示例程序high.hdev使用不同方法提取區域 示例程序源碼(加注釋) 關于顯示類函數解釋 dev_close_window () read_image (Mreut, ‘mreut_y’) get_image_size (Mreut, Width, Height) dev_open_window (0, 0, Width, Height, ‘black’, WindowHan…

閱讀好書依然是提升自己的高效方法:兼以作者的身份告訴大家如何選擇書,以及高效學習的方法...

國內技術網站多如牛毛,質量高的網站也不少,博客園也算一個,各類文章數以百萬計,我隨便輸入一個關鍵字,比如Spring Cloud,都能看到大量的技術文章和教學視頻,我無意貶低技術文章和教學視頻的作用…

TCP/IP 協議簇的逐層封裝

在使用 TCP 協議的網絡程序中,用戶數據從產生到從網卡發出去一般要經過如下的逐層封裝過程: 從下往上看: 1)鏈路層通過加固定長度的首部、尾部來封裝 IP 數據報(Datagram) 產生以太網幀(Frame)。 其中首部存在對封裝數據的…

【開源程序(C++)】獲取bing圖片并自動設置為電腦桌面背景

眾所周知,bing搜索網站首頁每日會更新一張圖片,張張漂亮(額,也有一些不合我口味的),特別適合用來做電腦壁紙。 我們想要將bing網站背景圖片設置為電腦桌面背景的通常做法是: 上網,搜…

UIProgressView 圓角

里面外面都變成圓角 不用圖片 直接改變layer 重點是里面外面都是圓角哦 for (UIImageView * imageview in self.progress.subviews) { imageview.layer.cornerRadius 5; imageview.clipsToBounds YES; } 轉載于:https://www.cnblogs.com/huoran1120/p/5563991.html

HALCON示例程序holes.hdev孔洞提取

HALCON示例程序holes.hdev孔洞提取 示例程序源碼(加注釋) 關于顯示類函數解釋 read_image (Image, ‘progres’) get_image_size (Image, Width, Height) dev_close_window () dev_open_window (0, 0, Width, Height, ‘white’, WindowID) dev_set_co…

給實例動態增加方法VS給類動態增加方法

一、給實例綁定方法 object.method MethodType(method,object) >>>class Badbrains(): pass >>>def mocking(self): print(Brain\s Mocking) >>>b Badbrains() >>>from types import MethodType >>>b.mocking MethodType(moc…

一句DOS命令搞定文件合并

用Dos的copy命令實現: copy a.jsb.jsc.js abc.js /b 將 a.js b.js c.js 合并為一個 abc.js,最后的 /b 表示文件為二進位文件,copy 命令的其它參數可以在 cmd 里輸入 copy /? 學習 舉例:如果想要合并多個js文件到某個目錄下&#…