【VIsion Master】机器视觉软件二次开发(C#版本)学习笔记

news2024/11/16 2:25:09

0.前言

最近接手新项目,用海康威视旗下的HIK ROBOT Vision Master机器视觉软件做二次开发相关的项目,写一篇博客记录一下学习过程。
参考视频:https://www.bilibili.com/video/BV1tq4y1j7RP?p=1
其他参考资料:软件自带的开发文档。

IDE:VS 2022
语言:C#、C++
框架:dotNET Framework 4.6.1
软件版本:VM 4.3.0(本文都用VM缩写代指Vision Master)

1.配置环境

新建一个winForm工程,右击工程属性,目标框架修改为:.NET Framework 4.6.1。
在生成中,目标平台首选32位取消勾选,输出路径绑定为:D:\Program Files\VisionMaster4.3.0\Applications。

打开App.config配置文档,再去VisionMaster4.3.0\Applications中找到VisionMaster.exe.config,将全部内容复制到App.config中替换。

1.1 添加新控件

切换到设计窗口,找到工具箱,右击Windows所有窗体,点击选择项,点击浏览去刚才的Applications文件夹中找这个库:VisionMaster4.3.0\Development\V4.x\ComControls\Assembly\VMControls.Winform.Release.dll,会自动导入一些控件:

在这里插入图片描述
回到VS的工具箱中,可以看到新增控件:
在这里插入图片描述

1.2 链接各种库文件DLL

在引用中,添加动态链接库和依赖库。开发文档中提供了两种引入方式:手动添加和小工具一键导入。

推荐第二种,先只添加基础库测试:

在这里插入图片描述

回到VS中:
在这里插入图片描述

重新加载后,多了这些链接项,也可以手动加入
在这里插入图片描述

1.3 新建VM工程和写入功能

在这里插入图片描述
将这个工程保存到本地,后缀名为.sol文件。

回到VS 2022,在winForm中拖入一个VmRenderControl控件作为显示,拖入两个Button和一个ListBox来更新数据。

在这里插入图片描述

加载方案 按钮:

private void button1_Click(object sender, EventArgs e)
{
    string message;
    VmSolution.Load("D:\\Users\\Desktop\\test0820.sol", "");
    message = "Load Sol Success.";
    listBox1.Items.Add(message);
    listBox1.TopIndex = listBox1.Items.Count - 1;
}

方案执行 按钮:

private void button2_Click(object sender, EventArgs e)
{
    IMVSCircleFindModuTool circleFindModuCs = (IMVSCircleFindModuTool)VmSolution.Instance["流程1.圆查找1"];
    VmProcedure vmProcedure = (VmProcedure)VmSolution.Instance["流程1"];
    vmRenderControl1.ModuleSource = circleFindModuCs;

    Task.Run(() =>
    {
        vmProcedure.Run();
    });
}

最后的效果:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2057495.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaScript语法基础之流程结构(顺序、选择、循环结构)

目录 1. 流程控制 1.1. 流程控制简介 1.1.1. 顺序结构 1.1.2. 选择结构 1.1.3. 循环结构 1.2. 选择结构:if 1.2.1. 单向选择:if… 1.2.2. 双向选择:if…else… 1.2.3. 多向选择:if…else_if…else… 1.3. 选择结构&#…

一口气学完Python编程语言的基础内容

文章目录 第1章 Python简介1.1 Python简介1.2 Python历史1.3 Python特点1.4 Python的应用场景1.5 Python的版本 第2章 Python环境搭建2.1 Python软件安装2.2 编辑器安装 第3章 Python基础语法3.1 第一个Python程序3.1.1 使用 Python 命令行3.1.2 使用 IPython3.1.3 使用 PyChar…

从新手到专家,2024年免费视频编辑软件成长之路

随着人们开始用视频来表达自己的看法、生活,促进来数字媒体和社交媒体的发展。用来处理视频的工具也越来越多,我们要怎么从一众的视频剪辑工具里找到属于自己的那一款免费视频剪辑软件呢?这次我们就来浅浅分析一下。 1.福昕视频剪辑 连接直…

Linux timedatectl 命令

timedatectl 是 Linux 系统中用于查询和更改系统日期、时间和时区的工具,它特别适用于那些使用 systemd 作为系统和服务管理器的系统。语法格式为“timedatectl [参数]”。 发现电脑时间跟实际时间不符?如果只差几分钟的话,我们可以直接调整。…

接受三个数字参数,返回最大

def mostNum(*nums): #nums为元组(不支持修改),转化为列表liNumslist(nums)for i in range(0,len(liNums)-1): #冒泡法if liNums[i]>liNums[i1]:cliNums[i]liNums[i]liNums[i1]liNums[i1]creturn liNums.pop() #列表最后一个最大的数被返…

花钱买不到系列—linux虚拟地址空间

不知道大家有没有听说过一个东西,叫C/C地址空间。 给大家画一个图这个图,作为C/C程序员应该比较熟悉,有人一个会有人把这个图叫做C/C地址空间,我觉得大家应该比较陌生,我也是刚刚学完,大家如果感兴趣的&…

计算机毕业设计 毕业季旅游一站式定制服务平台 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

圈子论坛小程序搭建教程,系统快速部署上线指南,支持文章、源码、链接等上传

圈子论坛小程序是一种基于移动端的社交平台,旨在为用户提供交流分享、互动沟通的空间。以下是关于圈子论坛小程序的详细解析: 一、圈子论坛小程序的定义与功能 定义:圈子论坛小程序是一个集社交、分享、交流于一体的移动应用,用户…

Unity视频流监控接入,点击播放只播放一帧画面

Universal Media Player 检查监控平台编码/解码配置(H265/H264)

安卓sdk manager下载安装

安卓sdk下载安装 android SDK manager下载 环境变量配置 ANDROID_HOME:D:\Android %ANDROID_HOME%\tools %ANDROID_HOME%\platform-tools %ANDROID_HOME%\build-tools\29.0.3Android SDK Platform-tools公用开发工具包,需要下载 Android SDK Tools基础…

llvm windows编译成功

一、所需工具 Visual Studio 推荐版本:Visual Studio 2022。其他版本亦可支持。 CMake 下载地址 Ninja 下载地址 LLVM 版本参考:llvm-project-llvmorg-18.1.8下载地址 二、配置与编译步骤 以管理员身份打开命令行终端,输入以下命令来设置…

Linux多进程

进程的概述 进程是计算机科学中的一个基本概念,它指的是在操作系统中正在执行的程序的实例 在Linux操作系统中,进程是程序执行的实体,是资源分配的基本单位 在在Ubuntu中,通过使用ps命令可以查看当前的进程列表 ps aux 进程与…

WSL2安装与使用

使用WSL2的前提条件: 1.开启CPU的虚拟化 打开任务管理器 ->性能->查看CPU虚拟化 2.开启Windows功能 任务栏输入“功能”,勾选下面选项,然后按照提示重新启动电脑。 3.搜索栏输入cmd,右键以管理员身份运行,输入…

对商品评论进行文本分析(NLP)的实战项目

文本分析技术是指使用计算机程序或算法处理、分析和理解文本数据的一系列方法。这种技术在自然语言处理(NLP)领域中非常重要,它可以应用于多种场景,包括但不限于情感分析、主题识别、信息提取、文本分类等。以下是一些常见的文本分…

SpringBoot+Vue3整合minio,实现分布式文件存储

文章目录 几种常用的文件存储安装和使用minioSpringBoot整合minio 基本所有的软件项目都会需要文件存储功能,图片、视频存储。 几种常用的文件存储 经常用的几种方案,直接存在本地文件夹,开发一个简单的系统当然没有问题。随机系统所需的资源…

90.WEB渗透测试-信息收集-Google语法(4)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:89.WEB渗透测试-信息收集-Google语法(3) • inurl • 搜索特殊 UR…

Leetcode JAVA刷刷站(55)跳跃游戏

一、题目概述 二、思路方向 在Java中,为了解决这个问题,你可以采用贪心算法的思想。贪心算法在这里的应用主要体现在,每一步都尽可能跳得远,以此来判断是否能够到达数组的最后一个下标。 算法的思路是,遍历数组nums&am…

ICWS 2024 _ 基于生成长度预测的大语言模型推理请求调度

随着技术的快速迭代,大语言模型(Larage Langugage Model, LLM )在各种场景下都展示出强大的文本处理能力,越来越多的业务期待通过接入大模型服务,提升业务效果。区别于传统RPC请求服务时间相近,大模型请求服…

《计算机操作系统》(第4版)第2章 进程的描述与控制 复习笔记

第2章 进程的描述与控制 一、前趋图和程序执行 1. 前趋图 (1)定义 前趋图是指一个有向无循环图,可记为DAG, 它用于描述进程之间执行的先后顺序。 (2)图形表示 前趋图如图2-1所示。 图2-1 前趋图 2. 程序的执行 (1)程序顺序执行时的特征 ①顺序性。 ②封闭性。 ③ 可…

Robot Operating System——创建可执行文件项目的步骤

大纲 初始化环境创建Package代码添加依赖(package.xml)修改编译描述find_package寻找依赖库指定代码路径和编译类型(可执行文件/动态库)链接依赖的库完整文件 编译测试总结参考资料 之前我们看到ROS2中,有的Node的实现…