在研究機器視覺算法之前,我們需要先了解機器視覺應用中涉及的基本數據結構。Halcon數據結構主要有圖像參數和控制參數兩類參數。圖像參數包括:image、region、XLD,控制參數包括:string、integer、real、handle、tuple數組等。
1.Image(圖像)
Image指在從文件或者相機等讀取到內存之后,所得到的HALCON圖像,其包括圖像的顏色空間、長寬、通道、灰度等信息。根據每個像素信息不同,通常將圖像分為二值圖像、灰度圖像、RGB圖像。
圖像的主要部分是channels通道,即包含各種像素類型的灰度值矩陣,圖像內像素點的值用幾個灰度值描述,那么圖像就是幾通道。比如灰色圖像,每個像素的灰度值為0~255,圖像有一個通道;而RGB的每個像素擁有R(Red,紅色)、G(Green, 綠色)、B(Blue, 藍色)3個通道,各自的取值范圍都是0~255。
值得注意的是,在一般的圖像處理中,灰度圖像已經可以滿足要求,因此為了節約計算量并加快速度,通常會將彩色圖像轉換成灰度圖像進行處理。
2. Region(區域)
Region指圖像中的一塊包含某些特性的區域,這個特定的區域也稱為圖像的定義域或感興趣區域(ROI),它是一幅圖像中一個任意的像素子集,也是離散平面的一個任意子集。
Region的作用:
對象分割(blob分析)
用作圖片域(Domain),只處理域內像素,可縮短運算時間
尋找特征
3. XLD(亞像素輪廓)
XLD(eXtended Line Descriptions)稱為亞像素精度輪廓,指圖像中某一塊區域的輪廓,即一組有序的二維點集,二維點順序用來說明彼此相連的關系。輪廓是用浮點數表示XLD各點的行、列坐標。
圖像中Image和區域Region這些數據結構是像素精度的,點與點之間的最小距離就是一個像素的寬度。在實際工業應用中,可能需要比圖像像素分辨率更高的精度,這時就需要提取亞像素精度數據,亞像素精度數據可以通過亞像素閥值分割或者亞像素邊緣提取來獲得。
4. Handle(句柄)
Handle句柄是一個標識符,是用來標識對象或者項目的。它就像我們的車牌號一樣,每一輛注冊過的車都會有一個確定的號碼,不同的車號碼各不相同,但也有可能在不同的時期出現兩輛號碼相同的車,只不過它們不會同時處于使用之中而已。
在程序設計中,句柄是一種特殊的智能指針,當一個應用程序要引用其他系統(如數據庫、操作系統)所管理的內存塊或對象時,就要使用句柄。從數據類型上來看,它只是一個32位(或64位)的無符號整數。
5. Tuple(數組)
Tuple可以理解為C/C++語言中的數組,數組是編程語言中常見的一種數據結構,可用于存儲多個數據,每個數組元素存放一個數據,通常可通過數組元素的索引來訪問數組元素。C/C++語言中的數組操作大都可以在Tuple中找到對應的操作。
-
機器視覺
+關注
關注
163文章
4487瀏覽量
121824 -
數據結構
+關注
關注
3文章
573瀏覽量
40516 -
HALCON
+關注
關注
17文章
66瀏覽量
27596
原文標題:視覺軟件HALCON的數據結構
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
請問K230D怎么將攝像頭采集的視頻數據通過串口輸出?
Ringbuffer的性能優化方法

DDC264配置寄存器數據寫入和320 DCLK時鐘脈沖后的回讀數據結構是什么?
深度剖析在線長度測量儀:機器視覺引領高精度測量新時代
嵌入式常用數據結構有哪些


Labview與Halcon圖片Image互相轉換
機器視覺的典型結構和基本功能
解析嵌入式編程8種常用的數據結構

評論