1. 程式人生 > >Sapera LT】開發步驟 相機配置檔案

Sapera LT】開發步驟 相機配置檔案

Sapera初級開發步驟 一. Sapera++介紹        Sapera++是Sapera LT為使用者提供的API. Sapera++ 包含兩大類:基礎應用類(Basic Classes)和GUI類(GUI Classes) 1. 基礎應用類:        提供了使用者進行影象開發的基本函式        命名方式為Sap+類功能名  

       其結構如下圖所示:

常用類:    SapAcquisition:控制與板卡相連線的裝置   SapBuffer:操作buffer        SapBufferWith Trash:實時處理時建立trash buffer用於存放轉換資料(常用於處理速度跟不上資料採集速度時)   SapTransfer:管理一般的傳遞過程   SapView:顯示buffer中儲存的內容至螢幕    2. GUI類: 提供了許多常用設定對話方塊 使用者可根據自己的需要選用;其結構如下圖所示   常用對話方塊:        CAbortDlg:等待對話方塊   CAcqConfigDlg:相機配置檔案匯入對話方塊   CAcqDlg:動態修改相機設定   CBufDlg:Buffer設定對話方塊   CLoadSaveDlg:匯入與儲存對話方塊 二. 開發步驟 1. 載入動態連線庫步驟: (1)使用Basic Classes:   ① 在Project | Settings... | C/C++ | Preprocessor | Additional includedirectories 中加入路徑C:\DALSA\Sapera\Classes\Basic;   ②在Project|Addto Project | Files 中加入C:\DALSA\Sapera\Lib\SapClassBasic.lib 和 SapClassBasicD.lib;   ③在 Project |Settings...| General中將SapClassBasic.lib 選為Exclude file from build;    ④在Project |Settings... | C/C++ | Code Generation | Use run-time library中選擇choose the option MultithreadedDLL (在release模式下) or Debug Multithreaded DLL (在debug模式下) ;   ⑤在標頭檔案中加入SapClassBasic.h

   (2)使用GUI:    ① 在Project | Settings... | C/C++ | Preprocessor | Additional includedirectories 中加入路徑C:\DALSA\Sapera\Classes\Gui;   ②在Project|Addto Project | Files 中加入C:\DALSA\Sapera\Lib\SapClassGui.lib 和 SapClassGuiD.lib;   ③在 Project |Settings...| General中將SapClassBasic.lib 選為Exclude file from build for Win32 Release;    ④ 在In Project | Settings... | C/C++ | Code Generation | Use run-timelibrary中選擇choose theoption Multithreaded DLL (在release模式下) or Debug Multithreaded DLL (在debug模式下) ;   ⑤在標頭檔案中加入SapClassGui.h 2. 初始化與採集操作步驟:    ①使用SapAcquisitionclass定義所需器件和相機配置檔案;    ②使用SapBufferclass(或SapBufferWithTrashClass)建立buffer來儲存影象;    ③使用SapViewclass分配顯示區顯示影象;    ④使用SapTransferclass(或SpecializedTransfer Classes)進行採集;    ⑤採集完成後釋放所有資源 參考C:\DALSA\Sapera\Help\User'sManual-Acquiring Images 與Demo"GrabDemo" 3. 對buffer的操作 (1) 修改buffer大小: 參考C:\DALSA\Sapera\Help\User'sManual-Working with buffers- Reading and Writing a Buffer (2) 子buffer的應用: 參考C:\DALSA\Sapera\Help\User'sManual- Working with buffers- Root and Child Buffers (3) 獲得buffer首地址及偏移量(常用於進行進一步影象處理): 參考C:\DALSA\Sapera\Help\User'sManual-Working with buffers- Reading and Writing a Buffer 三. 使用幫助文件與demo   如須獲得完整的demo與幫助文件 選擇full安裝 並選擇全部   幫助文件中的SaperaLT User's Manual提供Sapera LT的全面概要介紹;Sapera++ Programmer's Manual提供Sapera++ Basic 和 GUI classes中所有函式及功能介紹 可參考其進行程式設計工作   在C:\DALSA\Sapera\Demos\Classes\VC中提供了多個開發Demo供使用者參考 * Grab Demo (Dialog Box Interface 對話方塊) 路徑:\Sapera\Demos\Classes\Vc\GrabDemo\Release\GrabDemo.exe 功能:顯示了基本的採集功能 允許獲得連續或單幀影象 同時調整採集引數 * Grab Demo (Single Document Interface 單文件) 路徑:\Sapera\Demos\Classes\Vc\GrabDemoSDI\Release\GrabDemoSDI.exe 功能:顯示了基本的採集功能 允許獲得連續或單幀影象 同時調整採集引數 * Grab Demo (Multiple Document Interface 多文件) 路徑:\Sapera\Demos\Classes\Vc\GrabDemoMDI\Release\GrabDemoMDI.exe 功能:顯示了基本的採集功能 允許獲得連續或單幀影象 同時調整採集引數;    可開啟多視窗來同步獲得不同相機的顯示影象 * Sequential Grab Demo 路徑:\Sapera\Demos\Classes\Vc\SeqGrabDemo\Release\SeqGrabDemo.exe 功能:採集序列影象至記憶體而後顯示 程式允許錄製多段視訊 並可儲存、匯入AVI檔案 每一影象儲存於不同buffer中 可通過對話方塊設定buffer大小等引數 * Bayer Demo 路徑:\Sapera\Demos\Classes\Vc\BayerDemo\Release\BayerDemo.exe 功能:顯示Bayer 轉換功能 進行Bayer轉換引數設定 * Flat-field Demo 路徑:\Sapera\Demos\Classes\Vc\FlatFieldDemo\Release\FlatFieldDemo.exe 功能:顯示平場校正功能 平場校正Flat FieldCorrection (FFC) 包括調整模式噪聲FixedPattern Noise (FPN),畫素置換 Pixel Replacement, Photo Response Non Uniformity (PRNU), 和斑點校正 Shading Correction.  * I/O Demo 路徑:\Sapera\Demos\Classes\Vc\IODemo\Release\IODemo.exe 功能:顯示一般I/O裝置的使用 允許監視當前輸入輸出狀態 改變高低極性狀態;允許監視輸入中斷並記錄中斷數* GigE-Vision Camera Demo 路徑:\Sapera\Demos\Classes\Vc\GigeCameraDemo\Release\GigeCameraDemo.exe 功能:怎樣使用DALSAGigE Vision(tm) 相機獲得影象. 可匯入相機配置檔案