halcon_01_HALCON基礎語法變量與數據類型
題目:halcon的數據類型
作者:李黛色
功能:halcon基礎語法
個人學習記錄,如有錯誤,歡迎更正。
兩類參數:
1、圖形參數Iconic (image, region, XLD)
2、控制參數Control (string, integer, real, handle)
0.算子
Halcon算子的參數中,
算子operator:執行特定圖像處理任務的函數和命令。
語法,依次為:
(輸入圖形參數、輸出圖形參數、輸入控制參數、輸出控制參數;)
注意:輸入參數不會被算子改變。
halcon圖像的一些基本數據結構:
1.圖形參數
- image : 圖像
a. halcon的圖像類型,矩陣數據組成,矩陣每個值表示一個像素。
b. 每一個像素包含的信息不同,通常將圖像分為:二值圖像、灰度圖像、rgb圖像。
c. image type: Byte complex cyclic direction int1 int2 int4 int8 uint2 real - region : 區域
a. 圖像的一塊區域
b. 該區域數據由點的坐標組成,表達的意義類似于一個范圍
c. 可以用region創建一個感興趣區域ROI(region of interset)
d. 形狀任意,可以含洞,可以不連續點 - xld : 亞像素輪廓
a. 區域的輪廓,region邊緣的連續的點組成。
b. 為什么需要亞像素精度,圖像Image和區域region這些數據結構是像素精度。
c. 邊緣輪廓分兩種:
ⅰ. Contours輪廓,是一系列的點連接,點之間的距離大約是一個像素
ⅱ. Polygons多邊形,點之間的距離較大,是用最少的線來描述這個輪廓
d. 是一個輪廓函數,不是基于像素,可以精確到像素點內部的一種描述。
對比region 和 xld
region,邊是用每個小方塊(像素)組成的

xld,線和每個像素(小方塊)會有不同的交點,haolcon自己算

2.控制參數
- string : 字符串
a. 單引號包裹 - integer :整數
- float :浮點數
- 布爾值 :true/false 1/0
- real : 實數
- tuple :元組
a. 用于存儲圖像,一副或多幅圖片
b. 其中的數據類型,控制類型:整型、實數型、字符串型,可混搭;
c. 注意:數據為iconic參數類型時,最小索引是1;當為Control參數類型時,最小索引是0。
d. 例子:[1,'abd',3.14,image] - handle : 句柄
a. 標識符ID(唯一),引用某個已打開的資源或管理
b. 用于管理窗口、文件等資源
c. 管理一組復合數據的變量
d. 例子:dev_open_windows() 算法返回窗口句柄
e. 例子:窗口、保存創建的模板、采集相機等均以handle來標識要操作的對象
3.變量聲明與賦值
- 變量無需聲明
- 直接使用 := 賦值
- 變量名區分大小寫
- 首字母不能是數字
- 例子:
a. a := 1
b. b := 'hello'
c. image := read_image()
4.名詞注釋
圖像 :圖像的本質是矩陣。
像素 :圖像放大到極致后可以看到一個最小的,單色的正方形方塊,這叫一個像素。
矩陣 :的每個元素就是該點像素方塊的灰度值。
灰度 :表征亮度的量;
灰度值 :灰度0為黑,255為白(0為黑,1為白)。
分辨率 :圖像寬高的信息。橫向有多少像素點,縱向有多少像素點。
通道 :圖像的顏色如何表示?相當于疊圖。RGB
亞像素 :
亞像素 Sub Pixel,面陣攝像機的成像面以像素為最小單位。
宏觀上,兩個像素之間有5.2微米的距離,可以看作是連在一起的。
微觀上,它們之間還有無限的更小的東西存在。這個更小的東西我們稱它為“亞像素”。
參考文章:
- https://zhuanlan.zhihu.com/p/471507066
- https://blog.csdn.net/zxmyoung/article/details/122238144
- https://blog.csdn.net/laoyao54/article/details/51496065
- https://baike.baidu.com/item/亞像素/7904986
- https://www.qinglite.cn/doc/10076476352491b16
總結:千錘萬鑿出深山
本文來自博客園,作者:黛色星霜,轉載請注明原文鏈接:http://www.rzrgm.cn/ijiangnan/p/19011122

浙公網安備 33010602011771號