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, Height, ‘black’, WindowHandle)
    decompose3 (Forest, Red, Green, Blue)
    dev_display (Red)
  • 二值化
    threshold (Blue, BlueBright, 80, 255)
  • 分割連通域
    connection (BlueBright, BlueBrightConnection)
  • 通過面積進行區域篩選
    select_shape (BlueBrightConnection, Path, ‘area’, ‘and’, 100, 100000000)
    dev_set_color (‘red’)
    dev_set_draw (‘margin’)
    dev_display (Path)
    disp_continue_message (WindowHandle, ‘black’, ‘true’)
    stop ()
  • 二值化紅色通道圖像
    threshold (Red, RedBright, 120, 255)
  • 分割連通域
    connection (RedBright, RedBrightConnection)
  • 使用面積進行區域篩選
    select_shape (RedBrightConnection, RedBrightBig, ‘area’, ‘and’, 1500, 10000000)
  • 使用圓形元素進行閉運算
    closing_circle (RedBrightBig, RedBrightClosing, 7.5)
  • 使用圓形元素進行開運算
    opening_circle (RedBrightClosing, RedBrightOpening, 9.5)
  • 分割連通域
    connection (RedBrightOpening, RedBrightOpeningConnection)
  • 使用面積進行區域篩選
    select_shape (RedBrightOpeningConnection, BeechBig, ‘area’, ‘and’, 1000, 100000000)
  • 使用區域的平均灰度進行區域篩選
    select_gray (BeechBig, Blue, Beech, ‘mean’, ‘and’, 0, 59)
    dev_display (Red)
    dev_display (Beech)
    disp_continue_message (WindowHandle, ‘black’, ‘true’)
    stop ()
  • 聯合區域
    union1 (Beech, BeechUnion)
  • 返回區域的補集
    complement (BeechUnion, NotBeech)
  • 求取兩區域不相交部分
    difference (NotBeech, Path, NotBeechNotPath)
  • 縮小定義域
    reduce_domain (Red, NotBeechNotPath, NotBeechNotPathRed)
  • 二值化
    threshold (NotBeechNotPathRed, BrightRest, 150, 255)
  • 分割連通域
    connection (BrightRest, BrightRestConnection)
  • 通過面積篩選區域
    select_shape (BrightRestConnection, Meadow, ‘area’, ‘and’, 500, 1000000)
    dev_display (Red)
    dev_display (Meadow)
    disp_continue_message (WindowHandle, ‘black’, ‘true’)
    stop ()
  • 將兩個對象合為一個對象
    union2 (Path, RedBrightClosing, BeechPath)
  • smooth_image - 使用各種濾鏡平滑圖像。
  • smooth_image(原圖:平滑后的圖像:濾波器,濾波參數:)
    smooth_image (Red, RedGauss, ‘gauss’, 4.0)
  • invert_image - 反轉圖像。
    invert_image (RedGauss, Invert)
  • watersheds - 從圖像中提取流域和盆地。
  • watersheds (圖片:盆地,流域::)
    watersheds (Invert, SpruceRed, Watersheds)
  • 通過面積與灰度進行區域篩選
    select_shape (SpruceRed, SpruceRedLarge, ‘area’, ‘and’, 100, 5000)
    select_gray (SpruceRedLarge, Red, SpruceRedInitial, ‘max’, ‘and’, 100, 200)
  • 生成一個空對象
    gen_empty_obj (LocalThresh)
  • 計算對象數量
    count_obj (SpruceRedInitial, NumSpruce)
    dev_update_var (‘off’)
    dev_update_pc (‘off’)
    for i := 1 to NumSpruce by 1
    • 在組員對象中選取指定對象
      select_obj (SpruceRedInitial, SingleSpruce, i)
    • 求取最大最小灰度值,當第三個參數設置為50時返回中值
      min_max_gray (SingleSpruce, Red, 50, Min, Max, Range)
    • 減少定義域
      reduce_domain (Red, SingleSpruce, SingleSpruceRed)
    • 二值化
      threshold (SingleSpruceRed, SingleSpruceBright, Min, 255)
    • 分割連通域
      connection (SingleSpruceBright, SingleSpruceBrightCon)
    • 選取最大面積的區域
      select_shape_std (SingleSpruceBrightCon, MaxAreaSpruce, ‘max_area’, 70)
    • 將多個區域合并到一個組員下,但不改變對象個數
      concat_obj (MaxAreaSpruce, LocalThresh, LocalThresh)

endfor

  • 開運算
    opening_circle (LocalThresh, FinalSpruce, 1.5)
    dev_set_line_width (2)
    dev_set_color (‘red’)
    dev_display (Red)
    dev_display (FinalSpruce)
    dev_set_color (‘green’)
    dev_display (Beech)
    dev_set_color (‘yellow’)
    dev_display (Meadow)

處理思路

這個例子是主要講解了如何通過無人機拍攝的圖像識別其中的對象。smooth_image 、watersheds 等算子被應用。

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

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

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

相關文章

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文件到某個目錄下&#…

DataTables warning: Requested unknown parameter '0' from the data source for row '0'

問題&#xff1a;DataTables warning: Requested unknown parameter 0 from the data source for row 0 代碼&#xff1a; <script type"text/javascript">var data [{"Name":"UpdateBootProfile","Result":"PASS",&…

HALCON示例程序hull.hdev區域提取與凸度篩選

HALCON示例程序hull.hdev區域提取與凸度篩選 示例程序源碼&#xff08;加注釋&#xff09; 關于顯示類函數解釋 read_image (Hull, ‘hull’) get_image_size (Hull, Width, Height) dev_close_window () dev_open_window (0, 0, Width, Height, ‘black’, WindowID) dev_di…

我與Linux系統的交集

2019獨角獸企業重金招聘Python工程師標準>>> 一、初識Linux 第一次知道Linux還是在我剛進大學的時候&#xff0c;從開始聊QQ、玩斗地主的時候起我就是用的Windows&#xff0c;從Windows2000一直到Windows7&#xff0c;當時我已經完全習慣了使用Windows&#xff0c;而…

squid白名單

http_access deny all #取消注釋 http_access allow all --> http_access allow xxx_custom_ip#添加系統服務器IP白名單 acl xdaili_custom_ip src 60.191.4.xxx/32 acl xdaili_custom_ip src 139.196.210.xxx/32 acl xdaili_custom_ip src 139.196.172.xxx/32 acl xdail…