【DALSA Coreco - Sapera LT】开发步骤

来源:互联网 发布:沈阳淘宝网店推广培训 编辑:程序博客网 时间:2024/05/13 18:26

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) 相机获得图像. 可导入相机配置文件 


0 0
原创粉丝点击