基于Qt的Sapera LT开发

基于Qt的Sapera LT开发

基于Qt来开发Sapera LT,需要经过以下几个步骤:

1. 在建立的Qt工程添加Sapera LT的相关路径

(1)右键工程—Properties


2Configuration PropertiesC/C++GeneralAdditional Include Directories


3)添加BasicInclude的路径


4Configuration PropertiesLinkerGeneralAdditional Library Directories


5)添加Lib路径


6Configuration PropertiesLinkerInputAdditional Dependences


7)添加corapi.libSapClassBasic.lib



2. 在建立的工程中,添加头文件SapClassBasic

[cpp]  view plain copy
  1. #include "SapClassBasic.h"  

注意:这里只能用Basic类,不能用基于MFC开发的GUI类。


3. 在工程类中声明Sapera LT的各类

[cpp]  view plain copy
  1. private:    //私有变量    
  2.     SapLocation *pLocLft;  
  3.     SapAcquisition *pAcqLft;  
  4.     SapBuffer *pBufferLft;  
  5.     SapAcqToBuf *pTransferLft;  


4. 在工程类中声明回调函数

[cpp]  view plain copy
  1. public:  
  2.     static void XferCallbackLft(SapXferCallbackInfo *pInfoLft); //回调函数  

注意:回调函数的极其重要,在每次传完一帧图像后,会自动调用回调函数。如果要实时处理图像数据,应该将图像处理函数放在里面。


5. 定义采集、缓存、传输类,并使能

[cpp]  view plain copy
  1. pAcqLft=new SapAcquisition(SapLocation("Xcelera-CL_PX4_2",0),"PtGrey_2048_2048.ccf" );  //采集  
  2. pBufferLft=new SapBuffer(1,pAcqLft);    //buffer  
  3. pTransferLft=new SapAcqToBuf(pAcqLft, pBufferLft, XferCallbackLft, this);   //传输链路  
  4.   
  5. bool successLft=pAcqLft->Create();  
  6. successLft=pBufferLft->Create();  
  7. successLft=pTransferLft->Create();  

6. 定义回调函数

[cpp]  view plain copy
  1. void LftCapt::XferCallbackLft(SapXferCallbackInfo *pInfoLft)  
  2. {  
  3.     LftCapt *pGrabQtLft=(LftCapt *) pInfoLft->GetContext();  
  4.   
  5. //-------------------------------------------------------------------------  
  6.     //采集内存图像数据  
  7.     pGrabQtLft->pBufferLft->GetAddress((void**)&pBufDatLft);  
  8.   
  9.     //内存中图像尺寸特征  
  10.     int heightBufLft=0,widthBufLft=0,pitchBufLft=0;  
  11.     heightBufLft=pGrabQtLft->pBufferLft->GetHeight();  
  12.     widthBufLft=pGrabQtLft->pBufferLft->GetWidth();  
  13.     pitchBufLft=pGrabQtLft->pBufferLft->GetPitch();  

其中,虚线以上部分是回调函数定义的固定格式。


7. 工程退出时,delete对象(注意顺序)

[cpp]  view plain copy
  1. delete pTransferLft;  
  2. delete pBufferLft;  
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值