基于Qt的Sapera LT开发

2023-11-18

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


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于Qt的Sapera LT开发 的相关文章

  • Qt5.7.0配置选项(configure非常详细的参数)

    configure是一个命令行工具 用于配置Qt编译到指定平台 configure必须运行于Qt源码根目录 当运行configure时 编译源码使用的是所选工具链中的make工具 一 源码目录 编译目录和安装目录 源码目录就是包含源码的目录
  • qt creator修改程序编码(解决中文乱码问题)的方法

    qt creator修改程序编码 解决中文乱码问题 的方法 qt creator修改程序编码的功能有几处 1 edit select encoding 选择载入 显示 编码和储存编码 其中GB2312和UTF 8是常用编码方式 这种方法主要
  • QtConcurrent 线程使用说明

    关于Qt Concurrent 我们首先来看看Qt Assitant是怎么描述的 The QtConcurrent namespace provides high level APIs that make it possible to wr
  • QImage的save函数保存的bmp图像无法打开

    最近在VS2010中用QT写一个小的程序 现在出现了一个问题实在不知道怎么解决 用save功能可以得到一个 bmp文件 但是不能读取这个图片的内容 而且每次截图图片的大小都是150K不变 整个调试过程都没有报错 相关代码如下 以上内容设置了
  • 聊聊Qt中的Widget调色板QPalette

    在实际的应用开发中 经常需要对某个窗体或某个控件的颜色外观 如背景色 前景色等进行设置 已达到界面美化的效果 Qt中的窗体或控件都是Widget类 Qt中提供的调色板QPalette类就是专门用于管理控件的外观显示 QPalette类相当于
  • 在QT的UI界面,让Widget可以跟随窗体大小而改变

    可以使用布局 Layout 机制让Widget QWidget 随窗口一起缩放和移动 Qt提供以下几种布局 QHBoxLayout 将QWidget按照水平方向依次排列 QVBoxLayout 将QWidget按照垂直方向依次排列 QGri
  • 【Qt】QModbusDevice类

    1 概述 QModbusDevice类是Modbus类 QModbusServer和 QModbusClient的基类 Header include qmake QT serialbus Since Qt 5 8 Inherits QObj
  • qt creator编译qt工程时报错:undefined reference to

    qt creator编译qt工程时报错 undefined reference to qt creator编译qt工程时报错 该错误指向了本地文件 且经过调研知道 该类错误一般都是链接问题 仔细查看一下pro和pri文件 发现SystemL
  • Qt窗口之QMainWindow、QDialog、QWidget

    在 Qt 中 我们将窗口和控件统称为部件 Widget 窗口是指程序的整体界面 可以包含标题栏 菜单栏 工具栏 关闭按钮 最小化按钮 最大化按钮等 控件是指按钮 复选框 文本框 表格 进度条等这些组成程序的基本元素 一个程序可以有多个窗口
  • Qt 编译错误 提示TypeError: Property 'asciify' of object Core::Internal::UtilsJsExtension(0x27a9278) is not

    编译Qt 时提示错误 TypeError Property asciify of object Core Internal UtilsJsExtension 0x27a9278 is not a functio 说明 出现这个错误的表层原因
  • QT编程----事件(一)

    review ui 生成 h cpp文件 uic form1 ui o form1 h uic form1 ui i form1 h o form1 cpp C 三个特点 继承 重载 封装 QT程序设计进阶 事件 Qt事件 Qt程序是事件驱
  • QString转Char*字符串

    QString转Char 字符串 在Qt下将QString转char 需要用到QByteArray类 因为char 最后都有一个 0 作为结束符 而采用QString toLatin1 时会在字符串后面加上 0 方法如下 int main
  • Q_DECLARE_PRIVATE与Q_DECLARE_PUBLIC

    Q DECLARE PRIVATE与Q DECLARE PUBLIC 这两个宏在Qt的源码中随处可见 重要性不言而喻 在 部落格的 Inside Qt Series 系列文章中 他用了3篇文章来讲这个问题 因为 QObject 本身比较复杂
  • 改造QTabWidget的QTabBar,自绘随意控制样式,不同颜色

    1 简介 本文介绍通过自绘 随意定制QTabWidget的 TabBar的方法 可设置不同Tab页的不同背景色 前景色 边框 鼠标三态色 尺寸 以及绘制其他自定义内容 如角标 2 效果 3 主要思路 继承QTabBar 改尺寸就是重写 ta
  • Qt Xlsx的基本使用

    前言 在很多时候 我们需要将数据导出 之前我是将数据表导出为CSV格式 CSV文件虽然可以用Excel打开 但相对于真正的Xlsx文件 还是有许多不足的 偶然之间 发现了QtXlsx这个第三方库 1 QtXlsx官网对QtXlsx的介绍 Q
  • Qt安装(Windows平台)

    Qt 的安装组件分为两部分 一部分是 Qt 5 9 分类下的 该分类包含的是真正的 Qt 开发库组件 另一部分是 Tools 分类下的 该分类包含的是集成开发环境和编译工具 Qt 5 9 分类下的开发组件 组件 说明 MinGW 5 3 0
  • QPoint与QPointF的区别

    QPointF类使用浮点精度定义平面中的点 QPoint类使用整数精度定义平面中的点
  • 基于Qt的Sapera LT开发

    基于Qt的Sapera LT开发 基于Qt来开发Sapera LT 需要经过以下几个步骤 1 在建立的Qt工程添加Sapera LT的相关路径 1 右键工程 Properties 2 Configuration Properties C C
  • Qt之自定义布局管理器(QBorderLayout)

    简述 QBorderLayout 顾名思义 边框布局 实现了排列子控件包围中央区域的布局 具体实现要求不再赘述 请参考前几节内容 简述 实现效果源码 使用 实现 QBorderLayout主要采用QLayout和QWidgetItem实现
  • Qt Quick 工程创建

    一 简介 Qt Quick是Qt框架中的一个模块 用于创建现代 响应式的用户界面 它基于QML Qt Meta Object Language 语言和Qt Quick Controls库 提供了一种声明性的方式来构建用户界面 Qt Quic

随机推荐

  • IP子网划分

    一 子网划分基础 需要掌握二进制与十进制之间的熟练转化 第一篇已经详细介绍过 二 IP地址组成及其分类 目前的IP地址是 IPv4 地址 1 IP地址有两部分组成 网络号码字段 net id 用于区分不同网络 主机号码字段 host id
  • HarmonyOS基础答疑

    本帖收录 HarmonyOS开发者交流群 常见的问题答疑 另外有相关问题可以补充到本帖 Q1 如何获取DevEco Studio 2 0 版本计划 获取方式 答 现在起 可在HarmonyOS官网上 下载HarmonyOS应用开发IDE D
  • 如何让PowerShell显示中文不乱码

    如今软件日益国际化的今天 Windows下的命令行却还顽固地使用本地编码来显示数据 这导致用UTF 8编码的文件在命令行显示乱码 虽说Cygwin的内核cygwin1 dll有自动转换功能 可是因为GB2312中没有变音符号等特殊字符 某些
  • CGI的基本定义和优劣势是什么

    通用网关接口 CGI 是网络服务器之间的交集 通过它可以在外部应用程序和服务器之间进行标准化数据交换 它属于现存最古老的在线界面技术 至今仍被一些知名虚拟主机提供商使用 使用CGI 时 HTML页面不需要存储在服务器上 而是可以在用户进行网
  • 总结几个C语言小程序

    一 打印正方形 该程序通过用户输入一个正方形的边长 L 然后利用嵌套的 for 循环来打印出具有边框的正方形图案 程序如下 include
  • mybatis xml文件中statementType类型

    xml文件示例如下
  • 根目录扩容(SUSE系列,版本1)

    LVM 方式 需求 给根目录和 oradata目录扩容 背景 1 可用闲置盘400G 2 web应用和数据库部在同台机器 3 应用所用目录为根目录 数据库用 oradata目录 4 计划给根100G oradata 300G磁盘大小 步骤
  • 那些好用过头的键盘

    目录 一 好键盘的重要性 二 关于keychron机械键盘 1 轴体部分 1 1 红轴 1 2 青轴 1 3 茶轴 1 4 黑轴 1 5 其他轴 2 性价比 2 1 外观 2 2 连接方式 2 3 轴体 2 4 摔打性 2 5 价格 三 总
  • 稿费一般多少钱一千字_写一篇1000字的稿子多少钱?一般

    目录 1 关于稿子代写 一般稿子分三种类型 第一种 原创稿子 第二种 转发稿子 第三种 书评稿子 这些都是主分类 当前每个主分类肯定会包含很多的子分类 如 翻译稿子 新闻稿子 演讲稿子 会议稿子 等等 当然稿子是有规定的书写格式 并不是随便
  • 使用cs与msf进行内网横向移动

    使用cs与msf进行内网横向移动 目标系统为 192 168 1 123 跳板主机为 192 168 1 118 一 使用cs探测内网 1 将目标上线至CS 2 使用cs探测内网信息 查看当前目标系统网络情况 确认目标系统所在内网网段 3
  • 王者荣耀战力查询的保姆级教程

    王者荣耀段位水平是可以直接看到的 但是荣耀战力才是衡量玩家实力的标准 因为各种排行榜 甚至是职业选手选拔也是看这个荣耀战力的 战力系统可以决定玩家所在区域的排名 并发放牌子 这也是是想展示的一种 那有些玩家所在区域玩家较多 那竞争自然而然地
  • 浅谈自然语言处理(NLP)学习路线(一)--- 概述

    资料汇总 引流 大道至简之机器学习系列 流畅的python https pan baidu com s 1l5Tl0yZS0NTixAilH9S2aQ 提取码 38qa 统计学习方法第二版 https pan baidu com s 18p
  • 一个不错的选色网站

    http 0to255 com 转载于 https www cnblogs com sofire archive 2010 10 12 1849141 html
  • Kali-加密文档Office破解-hashcat(字典)

    利用office2john py 导出word的hash值 office2john py YD xls gt hash txt 修改hash内容 cat hash txt gedit hash txt 破解 m 哈希值类型 hashcat
  • 狂神Redis学习笔记(已更完)

    Nosql概述 一 缓存的发展历史 1 MySQL单机时代 90年代 当时一个基本的网站访问量一般不会太大 单个数据库完全够用了 那个时候 更多使用静态网页html 服务器根本没有太大的压力 这种情况下 整个网站的瓶颈是什么 数据量如果太大
  • [SDOI2008]洞穴勘测【LCT维护联通关系】

    题目链接 LCT判断两点联通的这样的一个基础问题 因为不存在环 所以直接LCT维护连接关系即可 include
  • MySQL-DML语句

    DML语句 Create 单行插入数据 多行插入数据 插入否则更新 replace into 查看受影响行数的函数 Retrieve 全列查询 指定列查询 select 函数 表达式 对查询出的列重命名 as distinct order
  • 21 单例模式

    1 定义 单例模式 保证一个类仅有一个实例 并提供一个访问它的全局访问点 单例模式的使用场景 只要一个实例 例如一个Web页面上的计数器 可以不用把每次刷新都记录到数据中 使用单例模式保持计数器的值 并确保是线程安全的 创建一个对象需要消耗
  • 设计模式概述

    设计模式的重要性 以实际工作举例 给用户开 开发完成后客户增加新的功能 例如原本程序适配两个产品 增加第三个产品 程序可扩展性 程序开发完成后的后续维护 规范性 可读性 总结 高内聚 低耦合 可维护性 可扩展性 类与类之间的关系 依赖 类A
  • 基于Qt的Sapera LT开发

    基于Qt的Sapera LT开发 基于Qt来开发Sapera LT 需要经过以下几个步骤 1 在建立的Qt工程添加Sapera LT的相关路径 1 右键工程 Properties 2 Configuration Properties C C