【Halcon】動態跟蹤一
太久沒有踏上籃球場了,昨天終於酣暢淋漓了一次。雖然被虐、體力跟不上,但卻滿滿激情,喜歡球場上的大家相互間協作、喝彩、拼搶…..愛好,還是需要堅持下去的!
言歸正傳,今天要學習的是利用dual_threshold實現動態跟蹤。
對於該種方法可以引申到簡單摳圖應用等。
1.運算元
對符號影象進行閾值化
dual_threshold(Image : RegionCrossings : MinSize, MinGray, Threshold : )
2.理論
根據Threshold選擇大於Threshold和小於Threshold的區域,同時通過設定MinSize來去除一些干擾的小區域。區域的絕對最大灰度值小於MinGray將被直接截斷。
該運算元經常應用於Laplace操作之後,用於邊緣檢測;用於sub_image之後,用於對比兩幅影象差別(本博文所用)。
3.程式碼
* Threshold operator for signed images
*
dev_close_window ()
read_image (Traffic1, 'traffic1')
read_image (Traffic2, 'traffic2')
convert_image_type (Traffic1, ImageConverted1, 'int2')
convert_image_type (Traffic2, ImageConverted2, 'int2' )
* Subtract two images.
sub_image (ImageConverted1, ImageConverted2, ImageSub, 1, 0)
dual_threshold (ImageSub, RegionDiff, 500, 20, 10)
get_image_size (Traffic1, Width, Height)
dev_open_window (0, 0, 2 * Width, 2 * Height, 'black', WindowHandle)
set_display_font (WindowHandle, 14, 'mono', 'true', 'false' )
dev_set_part (0, 0, Height - 1, Width - 1)
dev_set_draw ('margin')
dev_set_colored (6)
dev_display (Traffic1)
dev_display (RegionDiff)
disp_continue_message (WindowHandle, 'black', 'true')
stop ()
* Select regions based on gray value features
select_gray (RegionDiff, Traffic1, SelectedRegions, 'deviation', 'and', 20, 255)
dilation_circle (SelectedRegions, RegionDilation, 1.5)
reduce_domain (Traffic1, RegionDilation, ImageReduced)
binary_threshold (ImageReduced, Region, 'max_separability', 'dark', UsedThreshold)
* Transform the shape of a region.
shape_trans (Region, RegionTrans, 'convex')
dev_set_draw ('margin')
dev_set_colored (6)
dev_display (Traffic1)
dev_display (RegionTrans)
4.結果
* traffic1
traffic2
結果圖
5.其他運算元
1.轉換影象資料型別
convert_image_type(Image : ImageConverted : NewType : )
2.影象作差
sub_image(ImageMinuend, ImageSubtrahend : ImageSub : Mult, Add : )
5.參考
1.Halcon官方參考文件
相關推薦
【Halcon】動態跟蹤一
太久沒有踏上籃球場了,昨天終於酣暢淋漓了一次。雖然被虐、體力跟不上,但卻滿滿激情,喜歡球場上的大家相互間協作、喝彩、拼搶…..愛好,還是需要堅持下去的! 言歸正傳,今天要學習的是利用dual_th
【bzoj3295】動態逆序對
== 數據結構 aps img src zoj none fin 結果 我怎麽控制不住自己又寫了個數據結構啊……真是的…… 其實我是想練CDQ分治的……結果忍不住又寫了個主席樹。 首先看看不動態的逆序對咋做?樹狀數組嘛。 那麽刪除咋搞?就是考慮貢獻,把它前面比他大的,後面
【java】簡介(一)
編碼 http ... 設計 適合 不能 高度 代碼格式 操作系統 應用:web後端開發、android-app開發、大數據應用開發 學習:java會過時,但程序設計的思想不會過時 特點:1、面向對象,跨平臺,語法比c++簡單 2、以字節碼的形式運行在虛擬機上
【DWM1000】 code 解密一 工程初始化代碼分析
eof associate 回調函數 pre ack 也有 tca use fas Draft ,以後整理 instance_init 函數追下去,絕大多數的代碼都在初始化如下結構體 typedef struct { INST_MODE mode; instan
【DWM1000】 code 解密一 ANCHOR 二進宮testapprun_s
分析 adding 這一 tab flag 接受 comm hand 情況 ANCHOR 二進宮 上面我們的代碼分析到ANCHOR 調用了一次testapprun_s,但是後面退出後發現還是滿足while 條件,逼不得已還得再次調用testapprun_s。testappr
【經典】動態規劃
答案 意思 行修改 優化 待修改 最長 長度 u+ mem 五道經典動態規劃問題1)最大子序列和題目描述:一個序列,選和最大的子序列轉移方程:sum[i]=max{sum[i-1]+a[i],a[i]}當前元素的狀態是:自己單獨一組還是並到前面最後的答案max{sum[i]
【Foreign】動態規劃 [分治][DP]
tex oid ans script 決策 cst pen 因此 out 動態規劃 Time Limit: 50 Sec Memory Limit: 128 MB Description 一開始有n個數,一段區間的價值為這段區間相同的數的對數。 我們想
【轉】動態樹入門
blade 查詢 body lin class 線段樹 ref bsp 狀態 背景 樹剖大概算是入門了,樹上亂搞系列(直徑,重心,樹剖,分治,倍增等)可以說都是一種思想,一種手段,而不是一種數據結構。 樹剖通過樹上面劃分鏈,在鏈上靜態操作(使用線段樹,樹狀態數組,主席樹
【Linux】基礎每日一命之sed命令
標準 tin .... ddr 一行 inet6 修改文件 方法 兩個 sed命令是利用script來處理文件 sed可依照script的指令,來處理、編輯文本文件。sed主要用來自動編輯一個或多個文件;簡化對文件的反復操作;編寫轉換程序等 語法:sed [-hnV][-e
【Linux】基礎每日一命之awk命令(上)
設置變量 兩個 oob 每日 gin water 不能 -o source awk 是一個強大的文本分析工具 語法:awk [選項參數] ‘script‘ var=value file(s)或awk [選項參數] -f scriptfile var=value file(s
【Linux】基礎每日一命之cut&mv&scp命令
默認 令行 密碼 文件拷貝 字段 提取 ace com 命令格式 cut命令 用於顯示每行從開頭算起num1到num2的文字 語法:cut [-bn] [file]cut [-c] [file]cut [-df] [file] 使用說明:cut 命令從文件的每一行剪切字節
【Linux】基礎每日一命之useradd&groupadd
-c 指定 實例 添加 備註 passwd 每日 所屬組 配置文件 useradd命令用於建立用戶賬號 useradd可用來建立用戶帳號。帳號建好之後,再用passwd設定帳號的密碼.而可用userdel刪除帳號。使用useradd指令所建立的帳號,實際上是保存在/etc/
Python編程:從入門到實踐——【作業】——第十一章(測試代碼)
stc 增加 收集 得到 width .com ast 接受 ted 第十一章 11-1 城市和國家 : 編寫一個函數, 它接受兩個形參: 一個城市名和一個國家名。 這個函數返回一個格式為City, Country 的字符串, 如Santiago, Chile 。 將這個函
Redis【入門】就這一篇!
弊端 use total 嚴重 之一 sts 內存條 秒殺 DC Redis 概述 在我們日常的Java Web開發中,無不都是使用數據庫來進行數據的存儲,由於一般的系統任務中通常不會存在高並發的情況,所以這樣看起來並沒有什麽問題,可是一旦涉及大數據量的需求,比如一些商品
【轉載】動態生成html元素並為元素追加屬性
追加內容 min utf-8 color meta rep lin type ctype 動態生成HTML元素的方法有三種: 第一種:document.createElement()創建元素,再用appendChild( )方法將元素添加到指定節點 1 <!DOC
【學習】reactjs(一)——使用npm創建react項目並整合elementUI
web -s from 頁面 rain tle export build head 在實習的過程中了解了react,所以打算使用react搭建一個屬於自己的頁面,如有問題請教正,謝謝。 Github:https://github.com/yclxt/react-elemen
【LeetCode】動態規劃(上篇共75題)
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica } 【5】 Longest Palindromic Substring 給一個字串,需要返回最長迴文子串 解法:dp[i][j] 表示 s[i..j] 是否是迴文串,轉移方程是
【Android】動態連結庫so的載入原理
前言 最近開發的元件時常出現了執行時載入so庫失敗問題,每天都會有java.lang.UnsatisfiedLinkError的錯誤爆出來,而且線上總是偶然復現,很疑惑。所以本文將從AOSP原始碼簡單跟蹤Android中的動態連結庫so的載入原理,試圖找出一絲線索。 載入入口
【練習題】第十一章--字典(Think python)
字典 字典包括一系列的索引,不過就已經不叫索引了,而是叫鍵(Key),然後還對應著一個個值,就叫鍵值(Key Value)。每個鍵對應著各自的一個單獨的鍵值。這種鍵和鍵值的對應關係也叫鍵值對,有時候也叫項。 這種輸出的格式也可以用來輸入。比如你可以這樣建立一個有三個項的字典: >&
【轉載】JVM系列一:JVM記憶體組成及分配
java記憶體組成介紹:堆(Heap)和非堆(Non-heap)記憶體 按照官方的說法:“Java 虛擬機器具有一個堆,堆是執行時資料區域,所有類例項和陣列的記憶體均從此處分配。堆是在 Java 虛擬機器啟動時建立的。”“在JVM中堆