MFC(VS2010)+ Vimba API编程实例
本文档适合于初次使用Vimba C++API做AVT相机二次开发的工程人员。通过本文档的介绍,可以轻松建立一个调用Vimba C++API的MFC程序,或者将官方例程移植到您既有的项目中
安装可以参考:
Windows平台下安装Vimba SDK
请留意“Target Folder”以及“Examples Target Folder”的位置
1.2 新建一个MFC 对话框工程,命名为“VmbAPI_MFC”
2.1 将VmbAPI相关的文件拷到工程文件夹(这里主要是为了后面采用相对引用,方便程序的移植)
2.1.1 在当前工程文件夹里新建一个“Vimba2.1”文件夹
2.1.2 将“Examples Target Folder”里的“Common”文件夹复制到新建的“Vimba2.1”文件夹
2.1.3 再将Vimba安装目录下的如下三个文件夹复制到新建的“Vimba2.1”文件夹
相对目录的起点为“.vxcproj”文件所在的目录, 每个“..\”都会向上移动一个目录,可以根据“Vimba2.1”文件夹所在项目的实际位置设置
这里以Win32程序为例, Win32程序在X64平台上也能运行,如果纯X64程序,则引用库目录改成Win64就可以了
2.2.4 将必须的4个动态链接库(dll文件)拷贝到”exe”所在的文件夹内
这四个文件可以从Vimba2.1文件夹对应的Win32平台文件夹里找到,对应的x64程序也有对应的文件夹
3.1 新建一个相机控制类,命名为“AVT_Cameras”
3.1.1 头文件“AVT_Cameras.h”做如下改动
3.1.2 “AVT_Cameras.cpp”实例化“m_system”,并实现对应的方法
3.2.1 回到主界面的头文件“VmbAPI_MFCDlg.h”,并注意如下改动:
3.2.2 主界面“VmbAPI_MFCDlg.cpp” 实现 “启动vimba”->“显示版本”->“退出”
VmbAPI_MFC_Simple.zip
-----------------------------------------分--割--线------------------------------------------------
接下来就可以再做一些相机操作相关的细化流程了,下面我们决定在当前程序的基础上、直接移植官方例子程序的代码
4.1 准备工作(如果是自己的既有工程,请先参考“2.调用VmbAPI相关的库”)
4.1.1 将官方异步采图例程的“Source”文件夹拷贝到当前程序文件夹(“Vimba2.1”同一目录)
4.1.2 精简拷贝进来的“Source”文件夹,保留如下文件:
解决办法:报错的三个文件属性设置为“不使用预编译头”
解决办法:附加包含目录增加拷贝进来的“Source”文件夹
这里说明一下,如果步骤4.1.1直接把4.1.3需要的6个文件拷到与“VmbAPI_MFC.h”同一目录下,则不会报相关错误
4.3.1 简单说明:例程移植过来的”ApiController”类的定位和原有的”AVT_Cameras”类是一样的
4.3.2 删除“AVT_Cameras”类,并引用“ApiController”
4.4 接下来就是主界面添加一些控件、以及调用”ApiController”类的一些方法,这里不再详细描述
最终实现的效果如下图:
代码下载地址
1.By Lemon 2019.05.24 Manta G-125B测试通过
可以通过AVT技术邮箱:support@alliedvision.com 联系我们