halcon程式設計

2022-08-24 18:30:14 字數 2250 閱讀 8135

2.1 halcon的核心,資料結構以及內部管理機制

1、效率:縮短執行時間,複雜計算維持良好效率;

2、開放:開放的架構,能內外進行資料的交換,能整合使用者自定的計算功能以及一些非標準的取像裝置;

3、標準化:運算元的命名,功能以及使用方式,資料結構遵循嚴格的規則,每個運算元有詳細的說明,使使用者有最快的上手。

以上表明兩大halcon有兩大要點:運算元和資料說明。

2.1.2.2 regions

region是由遊程編碼run-length-code表,示的多個region連線成乙個region,connection。

2.1.2.3 xlds

xlds是extended line description的縮寫,包含了所有等值線以及多邊形的資訊,入edges_sub_pix之類的亞畫素精度運算元產生的畫素點屬於xld。

等值線:一連串座標點的序列,相鄰兩點間以直線相連,一般畫素點之間的距離大約是1pixel,xld除了點座標資訊外,還包含了全域以及區域的屬性。

2.1.2.4 control tuples、

陣列,control_tuple的下標由0開始,icon_tuple的下標由1開始。

2.1.2.5 handles

每個handle都有乙個唯一的整數數值,由系統底層自行產生。如,圖形視窗,socket,取像裝置,ocr,ocv,measuring,matching等等,都會以handle來代表要操作的物件。

2.1.3 parrallel halcon

parallel halcon支援parallel programming(e.g.,multi-threaded programs),具有thread-safe(執行緒安全)以及reentrant(可重入),並行執行。

2.3 halcon聯合程式設計

halcon提供有三種語言介面,c、c++為特定語言使用,com介面可以在visual basic,c#,或是delphi中使用,halconc.*,halconcpp.*,halconx.*

2.3.1 c

由於c不含析構函式,因此需要用clear_obj來釋放定義的影象變數,複製、產生、清除或是處理tuple時,會用到macros功能。以下程式**例舉如何在檔案中讀取一張影象,並且顯示在影象視窗上。

read_image(&monkey, "

monkey");

get_image_pointer1(monkey,&pointer,type,&width,&height);

open_window(

0,0,width,height,0,"

visible

","",&windowhandle);

disp_obj(monkey,windowhandle);

2.3.2 c++以下例子為讀取影象顯示在圖形視窗中,並且進行一些基本的blob分析。

himagex image = new

himagex();

hregionx region;

image.readimage(

"monkey");

region = image.threshold(128,255);

2.4 延申halcon功能2.4.1 extension packages(user-defined operators)halcon提供有extension package介面,用於加入新的運算元(c語言撰寫)。

2.4.2 frame grabber介面

2.5 halcon的使用極限

影象尺寸:32768*32768

記憶體中影象的陣列數目:100000

tuple中的數值數目:30000

一條等值線上的取樣點書目:30000

乙個多邊形上的角點數目:10000

影象座標:-32768 ~ +32768

字串長度:1024位元組

3.1.2 檢測電源供電線

halcon與C 混合程式設計

halcon源程式 dev open window 0,0,512,512,black windowhandle read image image,c users badguy desktop 貓.jpg dev display image get image size image,width,he...

HALCON常用運算元(HALCON13 0)

halcon常用運算元 halcon13.0 chapter 9 develop chapter 10 file 10.1 images example 1 讀一副影象 read image image,mreut 2 將3幅影象讀入影象陣列 read image images,ic0 ic1 ic...

halcon例程講解 halcon例程解讀2

例程解讀 二維物體識別 autobahn.hdev 關閉視窗自動更新 dev update window off 關閉影象視窗 dev close window 開啟指定大小的視窗 dev open window 0,0,768,575,black windowid 賦值。以後的網格線步長用到,後面...