您的位置:首页 > 其它

【DALSA Coreco - Sapera LT】开发步骤

2017-04-10 19:58 162 查看
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) 相机获得图像. 可导入相机配置文件 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: