【机器视觉】 HDevelop语言基础(一)-基本类型和常量
00. 目錄
文章目錄
- 00. 目錄
- 01. 概述
- 02. 開發環境
- 03. 基本類型
- 04. 控制類型
- 4.1 整型
- 4.2 實型
- 4.3 字符串
- 4.4 Boolean類型
- 4.5 句柄類型
- 05. 常量和元組
- 5.1 常量
- 5.2 元組
- 06. 附錄
01. 概述
主要介紹 HDevelop 語言的語法和語義。 換句話說,它說明了您可以在算子或過程調用的參數中輸入什么。 在最簡單的情況下,這是變量的名稱,但也可能是像 sqrt(A) 這樣的任意表達式。 此外,還描述了控制結構(如循環)和參數傳遞的語義。
所有的程序例子在%HALCONEXAMPLES%\hdevelop\Manuals\HDevelop目錄中。
02. 開發環境
Windows系統:Windows10
Halcon版本:HDevelop 19.11
03. 基本類型
HALCON 區分兩種數據:控制數據(數字、字符串或句柄)和圖標數據(圖像、區域等)通過進一步區分輸入和輸出參數,我們得到四種不同類型的參數。這四種在 HDevelop 參數列表中總是以相同的順序出現。 在參考手冊中,算子簽名的可視化方式如下:
operator (圖標輸入 : 圖標輸出 : 控制輸入 : 控制輸出)如你所看到的,首先是圖形輸入,緊跟著的是圖形的輸出,其次是控制數據參數的輸入,控制數據參數的輸出。
這四個參數都有可能是空的。比如read_image函數,只使用了其中兩個參數。
read_image ( : Image : FileName : )這個read_image函數有一個輸出圖像參數,和一個輸入控制參數,當使用該參數時,將使用該函數對應的參數類型,實際操作能夠從指令窗口中顯示出來:
read_image(Image, 'Name')這些參數采用逗號分隔開來,輸入參數有可能是變量、常量或者表達式,圖像參數一定是變量參數,輸出控制參數也一定是變量值。
The parameters are separated by commas. Input control parameters can either be variables, constants or expres-sions. An expression is evaluated before it is passed to a parameter that receives the result of the evaluation. Iconic parameters must be variables. Control output parameters must be variables, too, as they store the results of anoperator evaluation.
04. 控制類型
所有非圖像數據在 HDevelop 中稱作為控制數據(數字、字符串或句柄)表示。 名字派生自它們在 HALCON 算子中各自控制行為(效果)的函數圖像處理(例如,分割算子的閾值)。 HDevelop 中的控制參數可能包含算術或邏輯運算。 控制數據項可以是以下數據類型之一:整數、實數、字符串、布爾值和句柄。
4.1 整型
integer 數據類型的使用與 C 中語法規則相同。 輸入整數可以以標準十進制表示法,十六進制加前綴 0x,八進制加前綴帶有 0(零)的數字。
4711 -123 0xbeef (48879 in decimal notation) 073421 (30481 in decimal notation)Integer數據類型在機器內部占有的位數,相當于C語言中的long類型的變量(4或者8個字節)。
4.2 實型
與C語言中的實型數據語法相同。
73.815 0.32214 .56 -17.32e-122 32E19real類型數據相當于C語法中的double類型變量(8個字節)。
4.3 字符串
字符串是用單引號 (’) 括起來的字符序列。 特殊字符,例如換行符用類似 C 的符號表示,如表 8.1 所示(參見 C 語言進行比較)。 您可以使用格式 \xnn 輸入任意字符,其中 nn 是兩位數 十六進制數,或使用格式 \0nnn,其中 nnn 是三位八進制數。 如果字符串是明確則可以用更少的數字 。 例如,換行可以指定為 \xa,除非字符串 以另一個十六進制數字 (0-F) 繼續。
4.4 Boolean類型
常量 true 和 false 屬于布爾數據類型。 值 true 在內部表示由數字1,值為 false 由 0表示 。這意味著,在表達式 Val := true 中,Val 的有效值設置為 1。一般來說,除 0 以外的所有整數值都表示為真。 請注意一些 HALCON 算子為輸入采用邏輯值(例如,set_system)。 在這種情況下,HALCON算子期望字符串常量,如“true”或“false”,而不是布爾值 true 或 false。
4.5 句柄類型
句柄是對復雜數據結構的引用,例如,與圖像采集設備的連接或基于形狀的匹配模型。
除了這些通用類型之外,還有一些特殊的常量和元組類型,從 HALCON 12.0 開始,HDevelop 也支持變量向量類型。
05. 常量和元組
5.1 常量
在算子使用過程中,系統提供一些返回值,表示該算子使用過程中的一些狀態。 可以通過 dev_error_var 和 dev_set_check檢查或者設定返回的狀態,錯誤信息能夠反饋異常的具體內容。 這些常量代表算子正常的返回值,即所謂的消息。 對于錯誤,沒有可用的常量(有很多錯誤編號在內部,請參閱擴展包程序員手冊)。
5.2 元組
在 HDevelop 類型元組中可以使用控制類型。 長度為 1 的元組被解釋為一個原子值,可以認為聲明一個元組。 一個元組可能由幾個不同類型的數據項組成。 標準表示元組是包含在中括號中的元素的列表。
[] 指定空元組。 只有一個元素的元組被視為一種特殊情況,因為它可以在表示元組的聲明,也可以指定為原子值:[55] 定義了與 55 相同的常量。
元組的例子是:
[] 4711 0.815 'Text' [16] [100.0,100.0,200.0,200.0] ['FileName','Extension'] [4711,0.815,'Hugo']06. 附錄
6.1 機器視覺博客匯總
網址:https://dengjin.blog.csdn.net/article/details/116837497
總結
以上是生活随笔為你收集整理的【机器视觉】 HDevelop语言基础(一)-基本类型和常量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【机器视觉】 Halcon设置自动保存
- 下一篇: 【机器视觉】 HDevelop语言基础(