关于
提示:海康VisionMaster4.0出来也有一段时间了。 公司项目上开发为了降低成本,VisionMasterr上了首选,之前都是搞康耐视系列, 现在做完项目了, 一起回顾下海康的软件
一、使用步骤
1.下载VisinMaster,链接:https://www.hikrobotics.com/cn/machinevision/service/download?module=0 ,目前最新的已经是4.1版本了 ,这里我们围绕4.0讲一下。
2.关于怎么导入海康自己的库, 这里不做多详解, 有兴趣的小伙伴可以找我私聊。 这里跳过。
3.加载工程。
代码如下(示例):
public static void LoadVmSolution(string _filename)
{
try
{
#region 检测VM4.0是否打开
List<Process> processList = new List<Process>();
Process[] processes = Process.GetProcesses();
foreach (var item in processes)
{
if (item.ProcessName == "VisionMaster")
{
processList.Add(item);
}
}
if (processList.Count != 0)
{
foreach (var item in processList)
{
if (item.ProcessName == "VisionMaster")
{
item.Kill();
}
}
}
#endregion
}
catch
{
}
try
{
VM.Core.VmSolution.Import(_filename);
}
catch (Exception ex)
{
throw ex;
}
}
加载解决方案时,最好关闭一下Vm相关资源
## 4.运行流程。 代码如下(示例):
public void Run()
{
try
{
if (null != _VmProcedure)
_VmProcedure.Run();
}
catch
{
}
}
运行流程
4.获取结果。
代码如下(示例):
public class ToolBlockOutputResult
{
/// <summary>
/// 流程
/// </summary>
private VmProcedure _VmProcedure;
/// <summary>
/// 输出结果构造函数
/// </summary>
/// <param name="procedure">流程名</param>
public ToolBlockOutputResult(VmProcedure procedure)
{
_VmProcedure = procedure;
}
/// <summary>
/// 获取结果属性结果
/// </summary>
/// <param name="name">输出结果Id</param>
/// <returns></returns>
public double this[string name]
{
get
{
try
{
return Math.Round(_VmProcedure.GetFloatOutputResult(name).pFloatValue[0], 3);
}
catch (Exception)
{
return 0;
}
}
}
}
使用方法
HikCoreLib.VmTool.VmToolBlock vmToolBlock = new HikCoreLib.VmTool.VmToolBlock(0);
double outX = vmToolBlock.Output["X"];
个人比较喜欢用康耐视的那种输出方式,Output[“X”]这种方式
5保存解决方案。
代码如下(示例):
public void SaveVmSolution(string _filename)
{
try
{
VM.Core.VmSolution.Export(_filename);
}
catch (Exception ex)
{
throw ex;
}
}