海康二次开发学习笔记2-方案的相关操作

方案和流程是VisionMaster(简称VM)的主要概念,一个方案可以包含多个流程,一个流程可以由多个模块通过连线建立逻辑关系.

方案的相关操作

1. 界面设计

界面分为三个部分:流程显示区,方案操作区,消息显示区.添加GroupBox,文本框,文本,和一些按钮.

在这里插入图片描述

2. 流程显示区

为了将方案加载显示在界面上,我们需要添加VmProcedureConfigControl控件到流程显示区,设置Dock为Fill

在这里插入图片描述

3. 方案操作区,消息显示区

1. 选择路径

点击选择路径按钮,弹出选择文件夹对话框,选择方案的路径.

```Csharp
        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();
            openFileDialog.Filter = "VM Sol File|*.sol*";
            DialogResult dialogResult = openFileDialog.ShowDialog();
            if (DialogResult.OK==dialogResult)
            {
                textBox1.Text = openFileDialog.FileName;
            }
            listBox1.Items.Add("选择路径成功");
            listBox1.TopIndex = listBox1.Items.Count - 1;

        }
```

2. 加载方案

方案加载需要调用方案加载的相关接口,需要添加两个引用,首先需要添加VM.Core.dll,然后添加VM.PlatformSDKCS.dll.
方案加载使用VmSolution.Load方法,参数为方案的路径.


```Csharp
        private void button4_Click(object sender, EventArgs e)
        {
            VmSolution.Load(textBox1.Text);
            listBox1.Items.Add("方案加载成功");
            listBox1.TopIndex = listBox1.Items.Count - 1;
        }
```

3. 执行方案

方案加载完成后需要执行一次方案,点击执行方案按钮,执行方案.
方案执行使用VmSolution.Instance.SyncRun方法,会同步执行一次方案中的所有流程.

```Csharp
        private void button3_Click(object sender, EventArgs e)
        {
            VmSolution.Instance.SyncRun();
            listBox1.Items.Add("方案执行一次成功");
            listBox1.TopIndex = listBox1.Items.Count - 1;
        }
```

4. 保存方案

点击保存方案按钮,保存方案.
方案保存使用VmSolution.Save方法,直接保存方案,Save方法是将方案保存到原始路径直接替换原方案.
SaveAs方法是将方案另存至自定义的路径.

```Csharp
        private void button2_Click(object sender, EventArgs e)
        {
            VmSolution.Save();
            listBox1.Items.Add("方案保存成功");
            listBox1.TopIndex = listBox1.Items.Count - 1;
        }
```

4. 启动项目

运行程序查看效果,注意在启动项目之前要关闭VM软件及后台服务.
1. 启动

在这里插入图片描述

2. 选择路径
选择之前保存在项目根目录的sol文件

在这里插入图片描述

3. 方案加载
流程区控件会显示方案中模块内容

在这里插入图片描述

4. 方案执行
点击方案执行,当方案执行完成无模块报错,模块左侧图标会显示绿色,下方菜单栏中也会显示流程执行的耗时.

在这里插入图片描述

5. 保存方案

点击方案保存,会将方案保存至原路径中.

在这里插入图片描述

以上就是方案操作的整个流程.

如果你对本文还不太了解,推荐你从这里开始看

海康相机二次开发学习笔记1-环境配置

渲染及数据结果获取

海康二次开发学习笔记3-渲染及数据结果获取

### 如何进行海康威视算法的二次开发 #### 开发环境准备 为了成功进行海康威视算法的二次开发,开发者需要先配置好合适的开发环境。对于使用C#语言的开发者来说,建议采用Visual Studio 2015或更高版本作为IDE,并安装海康Vision Master SDK(版本4.2.0及以上)。此SDK包含了必要的库文件、头文件以及动态链接库,用于支持图像处理和分析功能[^2]。 #### 集成SDK到项目中 在完成开发环境搭建之后,下一步就是将海康Vision Master SDK集成到自己的项目当中。这通常涉及设置项目的引用路径以便于访问SDK所提供的类库和服务;同时还需要调整编译器选项来确保能正确解析来自SDK的各种定义与声明。具体操作可参照官方文档中的说明执行。 #### 使用示例代码 以下是利用C#调用海康Vision Master SDK实现基本功能的一个简单例子: ```csharp using System; using Hikvision.VisionMaster; // 假设这是SDK命名空间 class Program { static void Main(string[] args){ VisionMasterAPI apiInstance = new VisionMasterAPI(); try{ bool initialized = apiInstance.Initialize(); Console.WriteLine($"Initialization status:{initialized}"); if(initialized){ var result = apiInstance.ProcessImage("path_to_image"); foreach(var item in result.Items){ Console.WriteLine($"{item.Name}: {item.Value}"); } apiInstance.Uninitialize(); } }catch(Exception ex){ Console.WriteLine(ex.Message); } } } ``` 上述程序展示了初始化API实例、加载图片并对其进行处理的过程,最后释放资源结束会话。 #### 解决常见问题 当遇到困难时,《海康威视工业相机SDK的开发使用笔记》系列文章提供了许多实用技巧和解决方案,适用于那些希望深入了解如何结合其他框架如OpenCV或者界面设计工具Qt来进行更复杂应用构建的技术人员[^3]。另外,“海康威视VisionMaster算法平台SDK用户手册”也是不可多得的学习资料,它不仅涵盖了基础概念还介绍了高级特性及其应用场景[^4]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值