目录
5.在VisualStudio环境中如何编辑渲染控件的信号和槽
1.使用QT进行算子SDK二次开发需要了解那些知识?
1.1 了解SDK的安装目录下各个文件的作用。
-
用户在安装完Vision Master软件之后,默认会在C盘Program Files(x86)目录下安装算子开发包,典型的路径是这样的:
C:\Program Files (x86)\MVDAlgorithmSDK
在此目录下,应该会看到以下文件夹

下面分别讲一下图中各个文件夹的作用。
1.1.1 头文件和静态库
使用C++语言进行算子SDK二次开发,最为常见的方式是使用静态库.lib加头文件.h的方式,因此Includes和Libraries这两个文件夹是我们所关心的。后面在开发环境配置中会重点介绍着两个文件夹如何引用。
1.1.2 C#需要引用的库
其中ReferencedAssemblies文件夹中用户也可以发现大量的DLL,这些DLL是使用C#语言进行算子二次开发才需要用到的,对于C++开发者来说不需要关心,所以不必关注 。
1.1.3 运行时依赖库
Runtime文件夹非常重要,这是使用算子SDK开发的应用程序运行时需要依赖的动态库,缺少它您开发的应用程序将无法运行,如果您想要在一台没有安装算子SDK软件包的电脑上运行您的二次开发程序,您可以将Runtime文件下的x64文件夹(如果是32位系统,就是win32文件夹)下的所有文件复制到你开发的exe所在目录即可。对于在一台已经安装了算子SDK开发包的电脑上运行您开发的视觉应用程序,则完全不必进行前面所说的操作,因为Runtime的路径已经写到环境变量中,程序运行时依赖的动态库会首先从环境变量中查找。
1.1.4 帮助文件
Documents文件夹存放的时开发需要查询的开发的帮助文档,这个文档对于视觉应用开发者来说是非常重要的,算子类库的用法和各种内置数据类型可以通过查询文档知道。
Samples文件夹存放的是二次开发示例程序,如果您需要快速入门,可以直接跳到这个文件夹内查看相关的示例程序。
1.1.5 环境检测等实用工具
MVDTools文件夹存放是环境的检测工具之类的应用程序,视觉应用的二次开发不必了解这个。
1.2 具备基本的C++编程基础知识
首先,具备基础的C++编程知识,算子SDK开发需要掌握的C++知识点并不多,并不需要对C++各种知识面面俱到的了解。这里对其中涉及到的一些基础知识点做一些简单介绍,以便在二次开发过程中能很好的理解算子SDK的用法。
在算子SDK中,开发者会经常遇到I开头的类,例如IMvdImage, IMvdShape, IHPFeaturePatMatchTool , 这个I是Interface的首字母,所以IMvdImage, IMvdShape等都是抽象类,是不可以直接实例化的,所以类似下面这样的语句是无意义的。
IMvdImage image
你也不可以像下面这样写,编译通不过的:
IMvdImage *pImage = new IMvdImage();
以IMvdImage这个图像类举例来说,正确的用法是这样的:
//读取D盘下的图像文件testImage.bmp
IMvdImage *pImage;
CreateImageInstance(&pImage);
pImage.InitImage(“D:\\testImage.bmp”,MVD_PIXEL_MONO_08);
在算子SDK中绝大多数类都是抽象类,都不能直接实例化,需要显式的调用CreateXXXInstance(XXX指代某个具体类,如Image类),然后才能对其进行操作,否则就会出现空引用,从而引发程序异常。
1.3 了解算子SDK在底层做了哪些工作?
1.3.1 算子SDK 简化了算子的初始化流程
算子SDK的二次开发简化了算子的初始化工作。在算子初始化过程中,需要对算子进行加密校验和解密,然后根据算子的能力集进行内存分配,除此之外,还需要对常用的运行参数设置初始的默认值,这些工作对于视觉应用的开发者来说较为繁琐和重复,因此算子SDK对这些流程都做了封装,开发者只需要一行代码就可以实现算子的初始,大大降低了开发者调用底层机器视觉算法的难度和负担。
1.3.2 算子SDK简化了参数设置和参数获取
算子SDK的二次开发简化了算子的参数设置,算子的运行参数在底层实际上是对应不同的结构体,在开发者不了解这些运行参数的数据类型和结构体的情况下,想要直接设置底层算子的运行参数难度就很大。但算子SDK对这参数设置这部分也做了很好的封装,用户只需要调用算子工具的SetParam函数接口,就可以在不了解底层算子运行参数结构体的情况下,也能将参数设置进去。SetParam函数提供了两个参数,一个参数是paramName, 一个参数是paramValue,开发者只需要查阅帮助文件,找到对应工具的参数表格,就可以设置参数。例如:设置快速模板匹配工具的最小匹配得分:
FastFeatureMatchTool1.SetParam(“MinScore”,”0.65”);
同样,开发者通过GetParam接口也能很方便的获取算子工具的当前参数

本文档详细介绍了使用QT进行算子SDK二次开发所需的知识点,包括开发环境配置、算子工具调用流程及结果渲染等内容。
最低0.47元/天 解锁文章
1216





