VM4.2二次开发环境配置方法(入门必看)
详细介绍基于C#、C++进行VM4.2(维护版)平台SDK开发环境配置。

开发环境:VM4.2维护版 + VS2013及以上(Win7/Win10 64位操作系统)


C# WinForm/WPF

WinForm、WPF开发平台,两者二次开发环境配置步骤基本一致。

第一步:新建项目。使用VS新建一个窗体应用程序,以WinForm为例,框架选择.NET Framework4.6.1,接着打开项目属性页面,取消勾选【首选32位】,然后重新编译项目。最后,关闭项目。


第二步:添加引用。使用导入工具来添加引用,工具路径VisionMaster4.2.0\Development\V4.x\ComControls\Tool\ImportRef.exe。操作步骤:选择项目所在的路径,勾选需要引用的模块,也可以全部引用。点击确定按钮,待进度条100%后,打开项目,可以发现项目的引用中出现VM二次开发相关的dll。


第三步:添加控件。在WinForm窗体程序中,打开工具箱,鼠标右击【所有Windows窗体】,点击【选择项】,弹出.NET Framework组件窗口,浏览VM4.2的安装路径文件夹:VisionMaster4.2.0\Development\V4.x\ComControls\Assembly,选择VMControls.Winform.Release.dll,添加后工具箱出现VM二次开发控件。

控件依次为:

VmFrontend 前端运行界面控件

VmGlobalTool 全局模块控件

VmMainView 主界面控件

VmParams 参数配置控件

VmParamsConfigWithRender 参数配置带渲染控件

VmProcedure 流程配置控件

VmRenderControl 渲染控件

VmSingleModuleSet 独立Group控件

用户可将控件拖拽到窗体中使用。

如上所述为WinForm窗体应用程序添加控件的方法,下面介绍WPF添加控件的方法。

在WPF窗体应用程序->工具箱中点击【选择项】,弹出WPF组件窗口,接着浏览VM4.2的安装路径文件夹:VisionMaster4.2.0\Development\V4.x\ComControls\Assembly,选择VMControls.WPF.Release.dll。拖拉控件至窗口中,xaml中代码自动生成。

添加完依赖库引用和控件后,启动程序,效果如下图所示。

用户可在流程配置控件中新建流程,搭建和调试视觉方案。同时,用户可在程序中引用平台库(using VM.Core和using VM.PlatformSDKCS)和模块库(查阅VisionMaster4.2.0\Development\V4.x\Documentations中的开发手册查看模块库名称)来实现业务代码开发。


C++ MFC

第一步:新建项目。以MFC+ VS2013为例。应用程序类型选择:基于对话框。

第二步:配置VC++目录。打开项目属性页,平台选择x64。依次配置头文件目录、库文件目录和附加依赖项。

其中,头文件目录需要配置两个路径:模块头文件和控件头文件。对控件头文件,VS2013创建的程序选择VS2013文件夹,VS2017创建的程序选择VS2017文件夹。

库目录选择win64\C。附加依赖项选择iMVS-6000PlatformSDK.lib。


第三步:添加控件头文件和源文件。将控件头文件、源文件拷贝到工程目录下(本例为VS2013创建的程序,控件文件路径VisionMaster4.2.0\Development\V4.x\ComControls\Includes\VS2013,VS2017创建的程序则选择VS2017文件夹)。

第四步:添加VM 封装的ActiveX控件,这些控件在VM安装时已经注册,可以直接选择。

第五步:在程序中包含头文件,并进行控件的绑定与初始化。

定义控件变量:

private:
           CVmMainViewControlInterface m_MainViewctr;

控件变量绑定界面:

void CVMMFCApplication1Dlg::DoDataExchange(CDataExchange* pDX)
{
      CDialogEx::DoDataExchange(pDX);
      DDX_Control(pDX, IDC_VMUSERCONTROL1, m_MainViewctr;
}

通过控件变量给控件初始化:

BOOL CVMMFCApplication1Dlg::OnInitDialog()
{
           CDialogEx::OnInitDialog();
           // 将“关于...”菜单项添加到系统菜单中。
             …
           // TODO: 在此添加额外的初始化代码
           try
           {
                      m_MainViewctr.GetObjectPointer();
           }
           catch (CVmException e)
           {}
           return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
}

至此,完成环境配置。启动程序,效果如下图所示。

用户可在主界面控件中新建流程,搭建和调试视觉方案。用户可在程序中引用平台库和模块库(查阅VisionMaster4.2.0\Development\V4.x\Documentations中的开发手册查看模块库名称)来实现业务代码开发。


C++ Qt

第一步:新建项目。打开QTCreate,编译器推荐选择MSVC2017 64bit。


第二步:配置外部库。打开后缀为.pro的文件,在代码区域鼠标右击,选择【添加库】,选择【外部库】,选择VM安装路径下的相关库文件和包含路径, 效果如下图所示。

为了控件能正常显示,在此代码区域头部添加一句QT +=axcontainer。

第三步:添加控件头文件和源文件。将控件头文件、源文件拷贝到工程目录下(本例为VS2013创建的程序,控件文件路径VisionMaster4.2.0\Development\V4.x\ComControls\Includes\QT)。

第四步:添加VM 封装的ActiveX控件,这些控件在VM安装时已经注册,可以直接选择。

第五步:在程序中包含头文件,并进行控件的初始化。

至此,完成环境配置。启动程序,效果如下图所示。

用户可在主界面控件中新建流程,搭建和调试视觉方案。用户可在程序中引用平台库和模块库(查阅VisionMaster4.2.0\Development\V4.x\Documentations中的开发手册查看模块库名称)来实现业务代码开发。

版权声明:本文为V社区用户原创内容,转载时必须标注文章的来源(V社区),文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:v-club@hikrobotics.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
上一篇

模型优化方法---通用基础篇

下一篇

自定义算法模块添加多幅图像输入的方法

评论请先登录 登录
全部评论 8

第四步:添加VM 封装的ActiveX控件,这些控件在VM安装时已经注册,可以直接选择。点哪里添加的,没截图

2024-03-13 17:18:56 上海
回复

请问如果是vs2015的 使用MFC、C++的情况下,“其中,头文件目录需要配置两个路径:模块头文件和控件头文件。对控件头文件,VS2013创建的程序选择VS2013文件夹,VS2017创建的程序选择VS2017文件夹。”这一步应该怎么办?😨

2023-02-20 15:31:06 未知地区
回复

VM4.0二次开发时,App.config如何配置您了解吗

2023-02-16 10:51:15 未知地区
回复

为什么我按照您的操作,在Qt下显示出来的界面不一样呢

2023-02-02 09:29:18 未知地区
回复

照你这个操作,第二步添加引用后出现了很多黄色感叹号,咋办?

2022-09-02 09:28:03 未知地区
回复

楼主,VM4.2开始使用GAC了,在C#二次开发时不用引用导入工具了,使用这个MFC的引用导入工具反倒容易导致环境错误,尤其是在老的项目上添加VM二次开发,使用这个工具会在config文件中重复配置,导致编译错误

2022-08-23 18:41:41 未知地区
回复

VM4.2 在哪里下载。

2022-05-24 19:48:45 未知地区
回复

哪里下载这个版本阿V4.2

2022-05-24 17:35:25 未知地区
回复
  • 1
Lv.0
2
关注
47
粉丝
13
创作
87
获赞
所属专题
  • VM4.2二次开发环境配置方法(入门必看)
  • Visionmaster4.2 + QT5.14.2 + VS2017二次开发保姆级避坑课程
  • 使用VisionMaster4.2SDK联合C#进行二次开发入门
  • VM二次开发视觉框架(C#)
  • 二次开发过程注意的点
  • 开发一个自己的VM模块(三)
  • 开发一个自己的VM模块(二)
  • 开发一个自己的VM模块系列一:模块详解
  • 【VM集成开源AI】深度学习算子模块封装
  • Vm算子CMvdImage图片生成方法,即IntPtr转byte[]和byte[]
  • Sauvola二值化处理在图像处理应用的优势介绍分析
  • “启智杯”设计大赛-一种模板匹配建模与识别控件
  • “启智杯”模板匹配控件的扇形掩膜实现方式交流
  • “启智杯”:IMvdImage类型转换为MFC的CBitmap类型
  • "启智杯":确定扇环外切矩形的方法
  • VM二次开发小技巧-增加十字辅助线
  • VM二次开发小技巧—快速匹配模板切换
相关阅读
  • [共享学习]VM之角度纠正问题
    2024-03-07 浏览 0
  • 机器视觉菜鸟指南
    2024-02-29 浏览 0
  • 基于C++OpenCV实现VisionMaster中的“直线边缘缺陷检测”
    2024-03-04 浏览 0

请升级浏览器版本

您正在使用的浏览器版本过低,请升级最新版本以获得更好的体验。

推荐使用以下浏览器