海康威视的VisionMaster算法平台功能强大,在2D处理域简单到小白级。
之前使用的是直接基于VM平台的SDK,最近为了更加灵活和快速处理数据,改为直接用算法平台的SDK。
在安装后的MVDAlgorithmSDK\Samples目录下,有各类SDK的调用示例,很简单和直观,但需要注意的是,它提供的是基于VS2008的版本,而目前最新的VS是2019,这次遇到的问题,就与这个版本有关。
参考DEMO,构建了一个最小的测试示例,测试样图是之前工业相机拍的,用VM平台处理建模,将模型导出为.hpxml文件,改名为.xml。这处需要注意,用的哪个处理类库,如高精度还是快速模式,模型也不同,一定要采用一样的模型。
在VS2019中直接运行,在最后一行.ImportPattern时会有各种错误,如:
引发的异常:“System.AccessViolationException”(位于 MVD_Algorithm.Net.dll 中)
尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
这时只需要将工程的目标框由.net 4.7.2改到3.5或4.0,编译(出现的错误不需要处理),再改回来即可。
VisionMaster与算法包版本:3.1
开发环境:Win10 64bit,VS2019 v16.3.7和VS2017 v15.9