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) 相機獲得影象. 可匯入相機配置檔案