基于Qt的Sapera LT开发

本文介绍如何在Qt环境中集成SaperaLT库进行图像采集开发,包括配置路径、添加头文件、声明各类及回调函数等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于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

#include "SapClassBasic.h"

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


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

private:	//私有变量	
	SapLocation *pLocLft;
	SapAcquisition *pAcqLft;
	SapBuffer *pBufferLft;
	SapAcqToBuf *pTransferLft;


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

public:
	static void XferCallbackLft(SapXferCallbackInfo *pInfoLft);	//回调函数

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


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

	pAcqLft=new SapAcquisition(SapLocation("Xcelera-CL_PX4_2",0),"PtGrey_2048_2048.ccf" );	//采集
	pBufferLft=new SapBuffer(1,pAcqLft);	//buffer
	pTransferLft=new SapAcqToBuf(pAcqLft, pBufferLft, XferCallbackLft, this);	//传输链路

	bool successLft=pAcqLft->Create();
	successLft=pBufferLft->Create();
	successLft=pTransferLft->Create();

6. 定义回调函数

void LftCapt::XferCallbackLft(SapXferCallbackInfo *pInfoLft)
{
	LftCapt *pGrabQtLft=(LftCapt *) pInfoLft->GetContext();

//-------------------------------------------------------------------------
	//采集内存图像数据
	pGrabQtLft->pBufferLft->GetAddress((void**)&pBufDatLft);

	//内存中图像尺寸特征
	int heightBufLft=0,widthBufLft=0,pitchBufLft=0;
	heightBufLft=pGrabQtLft->pBufferLft->GetHeight();
	widthBufLft=pGrabQtLft->pBufferLft->GetWidth();
	pitchBufLft=pGrabQtLft->pBufferLft->GetPitch();

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


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

	delete pTransferLft;
	delete pBufferLft;
	delete pAcqLft;

神爱世人,甚至将他的独生子(耶稣)赐给他们,叫一切信他的,不至灭亡,反得永生。

——【圣经·约翰福音3:16


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东山一角

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值