要使用Dalsa工业相机,看用户手册顺便做下笔记:
一,Application Architecture
不管使用哪个API(Sapera LT++, Sapera LT.NET 或者是标准C),Sapera LT模块都可以部署在不同的Sapera LT服务器上。服务器可以运行在本地或者是Teledyne DALSA设备上。Sapera LT调用通过Sapera LT消息传递层以一种完全独立于底层硬件的方式路由到不同的服务器。
二,Library Architecture
典型的机器视觉应用程序需要配置采集资源、图像捕获和传输到内存缓冲区。图像缓冲区可以处理或展示,分析(图像),通过结果确定后续流程。可以监视事件并触发合适的响应。Sapera LT库架构是围绕这些基本机器视觉功能块组织起来的。
三,Sapera LT .NET Basic Classes by Subject
下图介绍了一些主要的Sapera LT.NET类的描述,并介绍了它们与其它类的关系:
3.1 Sapera LT ++ and Sapera LT .NET Class Descriptions
C++/.NET class | Description |
SapAcqDevice |
控制Teledyne DALSA相机上的采集设备(例如,Genie M640)。 它被用作源传输节点,允许数据从一个采集资源传输到另一个传输节点,比如SapBuffer。 它被SapTransfer类使用。 |
SapAcqToBuf, SapAcqDeviceToBuf, SapBufToBuf, SapMultiAcqToBuf |
这些具体化的传输类是从SapTransfer派生出来的,可以轻松地创建最常用的传输配置。 例如,设置一个从SapAcquisition对象(帧抓取器)到SapBuffer对象的传输配置通常需要很多行代码来调用SapTransfer类中的各种函数。 而使用具体化类SapAcqToBuf可以将其减少到仅一行代码。 |
SapAcquisition |
通过acquisition section控制Teledyne DALSA board的采集设备(例如,X64 Xcelera-CL PX4)。它被用作源传输节点,允许数据从一个采集资源传输到另一个传输节点,比如SapBuffer。它被SapTransfer类使用。 |
SapBuffer |
对缓冲区的资源数组进行操作。一个SapTransfer实例可以将一个SapBuffer实例看成传输目的地,使得数据从原节点(例如SapAcquisition or SapAcqDevice)完成传输。一个SapBuffer实例可以通过SapView class来显示,也可以使用SapProcessing class来处理。 |
SapBufferRoi |
SapBufferRoi 类的目的是在已存在的SapBuffer实例中创建一个感兴趣的矩形区域。ROI对于实例中的所有缓冲区资源具有相同的原点和维度 |
SapBufferWithTrash |
SapBufferWithTrash类创建了一个额外的叫做缓冲垃圾的资源,在实时应用程序的数据传输过程中使用。trash buffer是一个应急缓冲,当数据传输比数据处理的速度快时使用。当处理速度不够快的时候,来不及处理新进来的数据,图像会被暂时传输到trash buffer直到重新稳定。 |
SapColorConversion |
SapColorConversion类的目的是对从相机获取的图像以及其它格式的彩色图像进行Bayer转换。当使用带有采集卡的Teledyne DALSA板时,该类支持在采集硬件中的颜色转换(如果硬件支持)。否则该类也支持在主机上进行基于软件的转换。 |
SapData and SapDataXxx |
SapData及其派生类充当Sapera LT数据类型的包装器,其中每个类封装特定类型的一个数据元素。 它们被用作各种Sapera LT ++和Sapera LT . net类中的属性值、方法参数或返回值。 |
SapDisplay |
SapDisplay类及其功能可以将资源显示在系统显示设备(计算机视频卡)或带有显卡的Teledyne DALSA板上。系统中每个显示适配器(VGA板)上至少有一个这样的资源。注意,SapView对象自动管理默认显示资源的内部SapDisplay 对象。但是,如果你需要默认资源以外的显示资源的话,你需要显式的管理对象。 |
SapFeature |
SapFeature类及功能可以从SapAcqDevice类检索特征信息。SapAcqDevice类支持的每个特性都提供了一组属性,如名称、类型、访问模式等,这些属性可以通过特性模块获得。 |
SapFlatField |
SapFlatField类的目的是对从相机获取的图像或从磁盘加载的图像进行平场校正。 它可以从获取硬件(如果支持的话)或从软件实现中支持该功能。 |
SapGio | SapGio类的目的是控制一个通用输入和输出块——一组可以同时读写的I/ o。 |
SapLocation | SapLocation类标识一个Sapera服务器/资源对 |
SapLut | SapLut类实现了查找表管理。 它通常与SapAcquisition和SapView类一起使用,分别操作采集和显示查找表。 |
SapManager | SapManager类包括描述系统中出现的Sapera资源的方法。 它还包括错误管理功能。 |
SapMetadata |
SapMetadata类提供了管理GigE- vision相机元数据的函数(用于Genie-TS和Linea GigE)。 启用时,支持的元数据(例如,时间戳或设备ID)包含在SapBuffer对象中。 |
SapPerformance |
SapPerformance类实现基本的基准测试功能。 它被SapProcessing类用来计算处理一个缓冲区所需的时间。 您也可以根据自己的基准测试需要使用它。 |
SapProcessing | SapProcessing类允许您通过派生类实现自己的处理。 |
SapTransfer |
SapTransfer类实现了管理通用传输过程的功能——将数据从一个源节点传输到一个目标节点。 以下类被认为是传输节点:SapAcquisition、SapAcqDevice和SapBuffer。 |
SapView |
SapView类包含通过SapDisplay对象在窗口中显示SapBuffer对象的资源的功能。 “自动清空”机制允许SapView和SapTransfer对象之间同步,以便在不丢失任何数据的情况下实时显示缓冲区。 |
SapXferFrameRateInfo |
SapXferFrameRateInfo类为相关的SapTransfer对象提供帧速率统计信息。它在构造SapTransfer对象时自动创建。 |
SapXferNode |
SapXferNode类是基类,用于表示由SapTransfer类管理的传输任务中涉及的源或目标传输节点。节点的实际类可以是SapAcqDevice、SapAcquisition或SapBuffer。 |
SapXferPair | SapXferPair类描述了SapTransfer类的一对源节点和目标节点。 |
SapXferParams | SapXferParams类存储由SapTransfer类管理的传输任务所需的参数。 |
.NET Only Class | Description |
SapAcqDeviceNotifyEventArgs | SapAcqDeviceNotifyEventArgs类存储了SapAcqDevice类的AcqDeviceNotify事件的参数 |
SapAcqNotifyEventArgs | SapAcqNotifyEventArgs类存储了SapAcquisition类的AcqNotify事件的参数 |
SapDisplayDoneEventArgs | SapDisplayDoneEventArgs类存储了SapView类的DisplayDone事件的参数。 |
SapErrorEventArgs | SapErrorEventArgs类存储SapManager类的错误事件的参数 |
SapException | SapException类是SapLibraryException和SapNativePointerException类通用的基类。 |
SapGioNotifyEventArgs | SapGioNotifyEventArgs类存储了SapGio类的GioNotify事件的参数。 |
SapLibraryException | 当Sapera LT库中报告异常的错误条件时,会抛出SapLibraryException类。 |
SapManVersionInfo | SapManVersionInfo类包含与当前安装的Sapera LT副本对应的版本信息。 |
SapNativePointerException | 当发生内部指针错误条件时,会抛出SapNativePointerException类。 |
SapProcessingDoneEventArgs | SapProcessingDoneEventArgs类存储了SapProcessing类的ProcessingDone事件的参数。 |
SapResetEventArgs | SapResetEventArgs类存储SapManager类的Reset事件的参数。 |
SapServerFileNotifyEventArgs | SapServerFileNotifyEventArgs包含SapManager类的ServerFileNotify事件的应用程序处理程序方法的参数。 |
SapServerNotifyEventArgs | SapServerNotifyEventArgs类存储SapManager类的ServerNotify事件的参数。 |
SapSignalNotifyEventArgs | SapSignalNotifyEventArgs类存储了SapAcquisition类的SignalNotify事件的参数。 |
SapXferCounterStampInfo | SapXferCounterStampInfo类存储关于特定传输对的counter-stamp功能的信息。 |
SapXferNotifyEventArgs | SapXferNotifyEventArgs类存储了SapTransfer类的XferNotify事件的参数。 |