Dalsa-Gine相机二次开发步骤
Dalsa-Genie相机二次开发步骤
Genie相机为Coreco公司的产品,因此采集使用CamExpert,开发使用SaperaLT。
用户安装完SaperaLT后可查看安装路径下的帮助文件与例程进行开发(建议使用6.2或以上版本的SaperaLT,其提供更全面的例程)。
函数帮助文档:\DALSA\Sapera\Help - Sapera++Prog
例程:\DALSA\Sapera\Demos\Classes\VC –
GigeCameraDemo:基本单帧采集功能,可更改buffer大小、进行显示设置
GigESeqGrabDemo:连续采集与保存功能
GigEFlatFieldDemo:平场校正等附加功能
Sapera++介绍
Sapera++是Sapera LT为用户提供的API. Sapera++ 包含两大类:基础应用类(Basic Classes)和GUI类(GUI Classes)。
基础应用类:
提供了用户进行图像开发的基本函数,其结构如下图所示
常用类:
SapAcqDevice:
SapBuffer:SapTransfer:
SapView:GUI类:
提供了许多常用设置对话框,用户可根据自己的需要选用;其结构如下图所示。
常用对话框:
CAbortDlgCAcqConfigDlg:相机配置文件导入对话框
CAcqDlg:动态修改相机设置
CBufDlg:Buffer设置对话框
CLoadSaveDlg:导入与保存对话框
Genie相机开发步骤:
与基于Dalsa采集卡开发的CameraLink相机相比,Gig-E相机只在初始化和导入相机配置文件时有不同。
1.加载动态链接库:
(1) 使用Basic Classes:
① 在Project | Settings… | C/C++ | Preprocessor | Additional include directories 中加入路径C:\DALSA\Sapera\Classes\Basic② 在Project|Add to Project | Files 中加入C:\DALSA\SaperaLib\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 Multithreaded DLL (在release模式下) or Debug Multithreaded DLL (在debug模式下) ;
⑤在头文件中加入SapClassBasic.h2) 使用GUI:
① 在Project | Settings… | C/C++ | Preprocessor | Additional include directories 中加入路径C:\DALSA\Sapera\Classes\Gui② 在Project|Add to Project | Files 中加入C:\DALSA\SaperaLib\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-time library中选择choose the option Multithreaded DLL (在release模式下) or Debug Multithreaded DLL (在debug模式下) ;
⑤在头文件中加入SapClassGui.hm_AcqDevice= new SapAcqDevice(dlg.GetLocation(), dlg.GetConfigFile());
m_Buffers= new SapBufferWithTrash(2, m_AcqDevice);
m_Xfer= new SapAcqDeviceToBuf(m_AcqDevice, m_Buffers, XferCallback, this);
m_View = new SapView(m_Buffers, m_viewWnd.GetSafeHwnd());
使