logo资料库

Dalsa图像处理库Sapera开发中文文档--高级使用.doc

第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
资料共11页,剩余部分请下载后查看
Sapera 帮助文档 简介:Sapera LT 是一套用于图像采集、显示和控制的独立于硬件以外的 C 和 C++ 软件 库,支持所有 DALSA Coreco 硬件平台。它的综合功能集包括程序可移植性、多样 化的相机控制、灵活的显示和管理功能,以及易于使用的应用开发向导。Sapera LT 与 Microsoft Visual Studio C/C++、.Net、Visual Basic 6.0 和 Borland C++ Builder 兼容, 支持 Windows XP、2000 和 NT 平台。 一.Sapera++介绍 Sapera++是 Sapera LT 为用户提供的 API. Sapera++ 包含两大类:基础应用类(Basic Classes)和 GUI 类(GUI Classes)。 1. 基础应用类: 提供了用户进行图像开发的基本函数,命名方式为 Sap+类功能名,其结构如下图所示: Sapera Basic Class 函数功能介绍:  Data Classes: 功能:下属多个数据类,每一个数据类管理了一种特定数据类型 下属数据类:SapData Class SapDataHSI Class SapDataHSV Class SapDataFloat Class SapDataFPoint Class SapDataFRGB Class SapDataMono Class SapDataPoint Class SapDataRGB Class
SapDataRGBA Class SapDataYUV Class  SapAcquisition 功能:控制与板卡相连接的采集设备 常用函数:SapAcquisition::SapAcquisition SapAcquisition::Create SapAcquisition::Destroy SapAcquisition::ApplyLut SapAcquisition::GetParameter, SapAcquisition::SetParameter SapAcquisition::GetSignalStatus SapAcquisition::IsSignalStatusAvailable  SapAcqCallbackInfo 功能:存储 SapAcquisition 类回调的内容 常用函数:SapAcqCallbackInfo::GetContext SapAcqCallbackInfo::GetSignalStatus  SapAcqDevice 功能:由设备读、写信息,还可直接发送、寄存事件至设备。常用于直接连接电脑的相 机(如 GigE 相机) 常用函数:SapAcqDevice::SapAcqDevice SapAcqDevice::Create SapAcqDevice::Destroy SapAcqDevice::GetConfigFile, SapAcqDevice::SetConfigFile SapAcqDevice::UpdateFeaturesFromDevice  SapAcqDeviceCallbackInfo 功能:存储 SapAcqDevice 类回调的内容 常用函数:SapAcqDeviceCallbackInfo::SapAcqDeviceCallbackInfo SapAcqDeviceCallbackInfo::GetAcqDevice  SapBayer 功能:Bayer 转换操作(分为软件和硬件实现两种) 常用函数:SapBayer::WhiteBalance SapBayer::EnableLut SapBayer::GetAlign, SapBayer::SetAlign SapBayer::GetWBGain, SapBayer::SetWBGain  SapBuffer 功能:操作 buffer 资源 常用函数:SapBuffer::SapBuffer SapBuffer::Create SapBuffer::Clear SapBuffer::Destroy SapBuffer::GetParameter, SapBuffer::SetParameter SapBuffer::GetPitch SapBuffer::GetPixelDepth, SapBuffer::SetPixelDepth SapBuffer::GetIndex, SapBuffer::SetIndex SapBuffer::GetCount, SapBuffer::SetCount
SapBuffer::GetFrameRate, SapBuffer::SetFrameRate SapBuffer::Next  SapBufferRemote 功能:Buffer 远程使用(需用 SapBuffer::Register 事先定义) 常用函数:SapBufferRemote::SapBufferRemote SapBufferRemote::Create  SapBufferRoi 功能:在已存在的 SapBuffer 对象中创建方形 ROI 区域 常用函数:SapBufferRoi::SapBufferRoi SapBufferRoi::Create  SapBufferWithTrash Class 功能:建立称为 trash buffer 的附加资源。常用于实时图像处理操作中,当数据传送速 度比处理速度快时,图象将被保存在 trash buffer 中,直到能够稳定输出 常用函数:SapBufferWithTrash::SapBufferWithTrash SapBufferWithTrash::Create  SapCab 功能:操作 CAB 资源的功能,更详细帮助见 Sapera CAB Programmer’s Manual.  SapCounter 功能:记录事件,可记录外部信号或内部信号(如硬件时钟) 常用函数:SapCounter::SapCounter  SapCounterCallbackInfo 功能:存储 SapCounter 类回调的内容 常用函数:SapCounterCallbackInfo::SapCounterCallbackInfo SapCounterCallbackInfo::GetCounter  SapDisplay 功能:操作默认显示资源 常用函数:SapDisplay::Create SapDisplay::GetDC SapDisplay::GetWidth  SapDsp 功能:操作 DSP 资源  SapFeature 功能:得到 SapAcqDevice 类的特征信息,如姓名、类型、连接模式等 使用 SapAcqDevice::GetFeatureInfo 访问 常用函数:SapFeature::GetLocation, SapFeature::SetLocation  SapFlatField 功能:单色图像平场校正功能 常用函数:SapFlatField::ComputeGain SapFlatField::ComputeOffset  SapGio 功能:控制输入和输出设备使之读写同步,常与 SapCounter 联合使用读取 I/O 设备的状 态 常用函数:SapGio::AutoTrigger SapGio::EnableCallback
 SapGioCallbackInfo 功能:存储 SapGio 类回调的内容 常用函数:SapGioCallbackInfo::GetPinNumber  SapGraphic 功能:在图像中绘制或书写文字(首先通过 SapView::GetDC 获得句柄) 常用函数:SapGraphic::Text  SapLocation 功能:识别 Sapera server/resource 对(物理设备的抽象表示) 常用函数:SapLocation::GetResourceIndex SapLocation::GetServerName  SapLut 功能:管理 lookup table(首先使用 SapAcquisition::GetLut 获得 SapLut 对象,操作完成 LUT 后使用 SapAcquisition::ApplyLut 记录) 常用函数:SapLut::Arithmetic SapLut::BinaryPattern SapLut::Threshold  SapManager 功能:描述当前系统上的 Sapera 资源,同时包括错误管理功能 常用函数:SapManager::GetCommandTimeout, SapManager::SetCommandTimeout  SapManCallbackInfo 功能:存储 SapManager 类回调的内容 常用函数:SapManCallbackInfo::GetErrorMessage  SapPerformance 功能:基准评估功能,评估一个 buffer 所占用的时间 常用功能:SapPerformance::GetTimeMicro SapPerformance::Reset  SapPixPro 功能:操作像素处理设备,作为中间转换节点,允许数据由采集设备传递到下一个转换 节点  SapPixProParams 功能:存储 SapPixPro 类回调的内容  SapProcessing 功能:用于管理用户自己的 processing  SapProCallbackInfo 功能:存储 SapManager 类回调的内容  SapTransfer 功能:管理转移过程 常用函数:SapTransfer::Create SapTransfer::Freeze SapTransfer::Grab SapTransfer::Snap SapTransfer::Wait SapTransfer::Abort SapTransfer::IsGrabbing
SapTransfer::GetPair  Specialized Transfer Classes 功能:特别转换类(一系列从属于 SapTransfer 的类,使用户方便操作许多常用的转移 节点) 常用转换类:SapAcqToBuf Class SapAcqDeviceToBuf Class SapCabToBuf Class SapBufToBuf Class SapAcqToCab Class SapCabToCab Class SapBufToCab Class  SapView 功能:通过 SapDisplay 对象显示存放在 SapBuffer 中的资源,SapView 和 SapTransfer 的同步性使得能够实时显示 buffer 中的数据而不会出现丢失数据的情况。 常用函数:SapView::SapView SapView::Show SapView::Create SapView::Destroy SapView::GetDC SapView::GetDisplay, SapView::SetDisplay SapView::OnHScroll SapView::OnMove SapView::OnPaint  SapViewCallbackInfo 功能:存储 SapView 类回调的内容  SapXferCallbackInfo 功能:存储 SapTransfer 类回调的内容(一帧图像转移完成后自动调用 XferCallback) 常用函数:SapXferCallbackInfo::GetContext SapXferCallbackInfo::IsTrash  SapXferPair 功能:描述了 SapTransfer class 的一对源与目的地 常用函数:SapXferPair::GetFramesPerCallback, SapXferPair::SetFramesPerCallback  SapXferParams 功能:存储 SapTransfer 类需传递的参数信息  SapXferNode 功能:操作转换节点
2. GUI 类: 提供了许多常用设置对话框,用户可根据自己的需要选用;其结构如下图所示。 Sapera GUI 介绍 名 称 CAbortDlg CAcqConfigDlg CAcqDlg CAScanDlg CBayerOptionsDlg CBufDlg CCabDlg CCompDlg CDspDlg CFlatFieldDlg CGioInputDlg CImageWnd CLoadSaveDlg CLScanDlg CPixProDlg CViewDlg 功 能 是 SapTransfer::Wait 功能的改进,允许中断后等待不确定的时间 导入相机配置文件(CCF),建立新的 SapAcquisition 对象,可调用 CAcqConfigDlg:: GetAcquisition 得到此文件 动态修改采集设备参数 动态修改面阵相机参数 Bayer 转换参数选择对话框 改变 SapBuffer 对象的参数 动态修改 CAB 参数 动态修改合成视频输入信号参数 选择文件导入 DSP 内存 操作平场校正 获得/设置输出设备信息 操作图像显示窗口、滚动条、ROI 区域等 保存/导入图像至 SapBuffer 对象 动态修改线阵相机参数 修改 SapPixPro 对象的参数 动态修改显示区域
二.例程介绍 1. examples 介绍 Sapera\Examples\Classes\SapExamples.dsw (for Visual C++ 6.0) Sapera\Examples\Classes\SapExamples_2003.sln (for Visual Studio .NET 2003) Sapera\Examples\Classes\SapExamples_2005.sln (for Visual Studio 2005) Sapera\Examples\Classes\SapExamples.bpg (for Borland C++ Builder)  FileLoadCPP 功能:演示由磁盘加载图片至 buffer 并显示。Buffer 根据图像文件格式进行创建。能够加载 多种类型的图像文件(如 monochrome, RGB, or YUV)。此例使用 Sapera C++ API。  FileLoadMFC 功能:与 FileLoadCPP Example 功能一致,但使用了 Sapera++ GUI 浏览文件夹。  GrabCPP 功能:由选定相机采集图像至 buffer 中并显示。Buffer 根据相机设置进行创建,任何相机 (CameraLink 或 GigE 相机)都能适用。此例使用 Sapera C++ API。  GrabLut 功能:保存、载入 lookup-table 至硬件过程 hardware processing engine,并将图像进行所选 Lut 的处理并显示。  GrabMFC 功能:与 GrabCPP Example 功能一致,但使用了 Sapera++ GUI。  GrabMFC 功能:与 GrabCPP 功能一致,但使用 GUI Sapera++类,通过对话框选择板卡与相机。  ColorSplit 功能:显示怎样分裂和融合彩色图像至单色部分。如载入一 RGB 图像,将之分为 3 个单色 部分,而后分别对单色部分进行图像处理,处理后融合为 RGB 图像进行输出。  FindGigECamera 功能:检测所有已连接的 GigE 相机名称、序列号、服务名等,通过改变代码,可实现改变 相机名称的功能。  GigECameraLut 功能:由已选择的 GigE 相机采集图像至内存,并显示怎样使能、保存和载入 lookup-table 至硬件 hardware processing engine,并显示经过所选 Lut 变换后的图像。  GigECameraEvents 功能:使用 CorAcqDevice 列出所有可用设备  GigEAutoWhiteBalance 功能:使用 CorAcqDevice 在 GigE 彩色相机中应用自动白平衡,可更改 buffer 设置并存储原 始设置,并给出怎样通过已选择的 GigE 相机采集、保存图像并显示。
2. Demos 介绍 Sapera\Demos\Classes\Vc\SapDemos.dsw (for Visual C++ 6.0) Sapera\Demos\Classes\Vc\SapDemos_2003.sln (for Visual Studio .NET 2003) Sapera\Demos\Classes\Vc\SapDemos_2005.sln (for Visual Studio 2005) Sapera\Demos\Classes\Vc\SapDemos.bpg (for Borland C++ Builder)  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 Field Correction (FFC) 包括调整模式噪声 Fixed Pattern 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 功能:怎样使用 DALSA GigE Vision™ 相机获得图像. 可导入相机配置文件 3. ActiveX 控件 Sapera\Demos\ActiveX\Vb6\SapActiveXDemos.vbg (for Visual Basic 6.0) Sapera\Demos\ActiveX\.NET\SapActiveXDemos_2003.sln (for Visual Studio .NET 2003) Sapera\Demos\ActiveX\.NET\SapActiveXDemos_2005.sln (for Visual Studio 2005) Sapera\Demos\ActiveX\Delphi\SapActiveXDemos.bpg (for Borland Delphi 7) 对 ActiveX 控件的使用操作详见 Sapera LT ActiveX Controls Manual
分享到:
收藏