- 博客(48)
- 收藏
- 关注
原创 【VM服务管家】专题_7.4 版本更新
描述环境:VM4.2 + VS2013及以上现象:电脑上安装完VM4.0或VM4.1之后(本篇文章主要以VM4.0为例,VM4.1二次开发程序升级与VM4.0操作相同),安装VM4.2,因此电脑上可能有两个及两个以上的VM版本,此时,客户则有版本间切换的需求,或者需求 VM4.0二次开发程序升级为VM4.2二次开发程序。解答针对这些需求,VM4.2开始提供了相应的工具。1、版本安装。例如电脑安装完VM4.0之后,再安装VM4.2,算子路径默认在C盘,此时算子安装路径会自动备份VM4.0的算子。如下
2023-05-05 16:40:52
887
2
原创 【VM服务管家】专题_7.1 认证教程
目录1.1 VM4.2中级教程_VM SDK开发1.2 VM4.x中级教程_算子 SDK开发1.3 VM4.2中级教程_算法模块开发1.4 VM4.x中级教程_标定与定位技术1.5 VM4.3中级教程_VM SDK开发1.6 VM4.3中级教程_算法模块开发1.1 VM4.2中级教程_VM SDK开发1.2 VM4.x中级教程_算子 SDK开发
2023-05-05 16:40:22
332
原创 【VM服务管家】专题_7.2 VM应用案例
需要注意的是,配置参数通常使用默认参数的自动模式,如果无法满足需求,可以切换手动模式进行调节,其中速度尺度与特征尺度控制模板的精细程度,影响模板匹配的速度,特征尺度越大,精细程度越低,匹配速度越快;建立好模板之后,根据具体项目情况设置合理的运行参数,在这里设置最小匹配分数为0.5,最大匹配个数为1,匹配极性设置为考虑极性,角度范围根据物料可能旋转角度的实际情况设置,这里设置为-20到20尺度范围,尺度范围设置为0.98到1.02,高级参数使用默认参数。剔除距离表示允许的离群点到查找的直线的最大像素距离;
2023-05-05 14:07:16
2409
1
原创 【VM服务管家】专题_7.5 异常收集
模块框架:在VM安装目录\Applications\VmModuleProxy\x64中建一个文件夹,重命名为vmframe_log_d(日志等级调整为debug)或vmframe_log_t(日志等级调整为最低等trace)。\Applications\VmModuleProxy\x64路径下增加: proxy_log_d, vmframe_log_d, module_log_d。\Applications\Server路径下增加文件:server_log_d;
2023-05-03 21:29:25
602
原创 【VM服务管家】专题_7.3 图像转换
Halcon图像转换为流程输入图像、Group输入图像、图像源SDK输入图像、模块输入图像、算子输入图像,算子输出图像转Halcon图像,流程输出图像转换为Halcon图像,Halcon图像与脚本图像互转。Halcon图像转换为流程输入图像、Group输入图像、图像源SDK输入图像、模块输入图像、算子输入图像,算子输出图像转Halcon图像,流程输出图像转换为Halcon图像。1 Halcon图像转流程输入(ImageBaseData_V2)、Group输入(ImageBaseData_V2)
2023-05-03 21:27:54
1196
2
原创 【VM服务管家】VM4.2平台SDK_6.5 全局类
需要注意的地方:全局相机模块在VM SDK中使用,如果没有使用添加引用的工具,可以手动添加GlobalCameraModuleCs.dll 引用,并将引用属性的“复制到本地”选项设置为False, 然后在程序代码文件中,添加命名空间的引用:using GlobalCameraModuleCs;在4.2.1中,VM SDK增加了获取相机连接状态的API,在GlobalCameraTool类中,方法bIsCameraConnect( )可以获取相机的连接状态。不知道如何访问全局相机模块的方法和属性。
2023-05-03 21:01:20
591
原创 【VM服务管家】VM4.2平台SDK_6.3 控件嵌入类
描述环境:VM4.2 + VS2013及以上现象:VM4.2如何在渲染控件上自定义图形?解答VM4.2二次开发相比较VM4.0二次开发,渲染控件上自定义图形有一些更新,除了接口vmRenderControl.DrawShape(),新增加一个接口vmRenderControl.AddShape(),前者是立刻绘制,后者是在下次刷新渲染时自动绘制。
2023-05-03 20:59:39
1011
原创 【VM服务管家】VM4.2平台SDK_6.4 结果获取类
现象:方案或流程运行执行之后,就可以获取结果(建议将结果获取写在回调函数里),可以通过流程或者模块的输出获取渲染结果和数据结果,推荐使用流程的输出,符合高内聚低耦合,渲染结果通过绑定渲染控件进行显示,数据结果分为整型、浮点型、字符串型和图像型等等,VM二次开发如何获取数据结果?2.2 获取图像数据,针对有图像输出的模块,例如,输出图像模块,注意像素格式17301505为MONO8灰度图,像素格式 35127316为RGB24彩色图。现象:除了所有流程运行结束的回调方法,如何注册某一流程开始与结束回调函数。
2023-05-03 20:59:35
874
原创 【VM服务管家】VM4.2平台SDK_6.2 模块操作类
打开流程的配置窗口,获取流程1的输出图像,将其设置为流程2的输入图像,虽然在VM中可以通过连线的方式实现,但也可以通过代码的方式实现,C#代码如下。另外,通过Group设置输入输出图像也是调用同样的接口函数SetInputImage_V2()和GetOutputImageV2(),其中要注意的是,当用代码给流程输入图像时,流程中的其它模块的图像输入源需要订阅流程的图像参数。注意:设置输入参数(基本参数),参数配置窗口界面不会显示所设置的参数,此时模块运行,参数永久有效,流程运行,参数一次有效;
2023-05-03 20:57:07
949
原创 【VM服务管家】VM4.2平台SDK_6.1 环境配置类
在 Lab VIEW 中通过.net 容器调用第三方库是最简单的方式(当然前提是第三库有.Net 封装),幸运的是,海康机器人的算法平台 SDK 刚好有.net 的封装,使用.net 的封装库,调用者不需要管理内存(绝大多数情况下不需要关心内存的申请和释放),更加激动人心的是,Lab VIEW 开发者调用 VM SDK,是不需要事先了解 SDK 内部 的工作原理,不需要深入理解它的框架,就可以快速开发属于自己的视觉应用。操作步骤:选择项目所在的路径,勾选需要引用的模块,也可以全部引用。
2023-05-03 20:56:25
1315
原创 【VM服务管家】VM4.2软件使用_5.4 工具类
非零时,表示该模块运行时会读取该路径下的标定文件,当该路径下的标定文件发生更新时,模块读取的标定文件就是最新的。非零时,表示该模块运行时会读取该路径下的标定文件,当该路径下的标定文件发生更新时,模块读取的标定文件就是最新的。(6)示教(选择项,可关闭):开启后,若通讯触发字符与输入的外部触发字符相匹配,则将示教的基准图像坐标,示教点物理坐标,拍照位物理坐标(默认标定中心点坐标,如九点标定则为第五点坐标)保存至标定文件。标定方式:单相机与机构做平移标定(9点标定)或平移旋转标定(12点标定)。
2023-05-03 20:55:27
1163
原创 【VM服务管家】VM4.2软件使用_5.3 环境配置类
5)不必要步骤,根据现场情况,需要使用深度学习GPU模块的不用配置)管理员权限下,将AwakenGpuTool.exe删掉。点击坐标左下角“Win”图标,搜索处输入“gpedit.msc”按“确定”,打开“本地组策略编辑器”,然后“计算机配置”“Windows 设置”“安全设置”“本地策略”“安全选项”“用户帐户控制:以管理员批准模式运行所有管理员”,改为已禁用。3)管理员权限下,手动在VM安装路径,配置要使用的普通用户(此处为Users用户)的完全控制权限。此步骤不配置,软件有时会打不开;
2023-04-28 10:44:29
863
原创 【VM服务管家】VM4.x算法模块开发_4.4 异常处理
此现象是由于算子模块自动的生成的代码的环境是VS2013,所以此时可以通过两种方式来解决:第一种则是通过下载VS2013来获取v120的生成工具;第二种则是直接升级的生成工具(推荐)。1、右击项目名称,选择属性,打开项目的属性页,将平台工具集改成当前VS2017版本对应的v141。现象:运行算子模块Demo时,报错提示无法找到v120的生成工具。2、右击项目名称,选择重定向项目,选择相应的SDK版本。环境:VM4.0及以上 + VS2017。不熟悉如何升级VS工具集。
2023-04-28 10:37:32
260
原创 【VM服务管家】VM4.x算法模块开发_4.3 联合Halcon开发
问题:有的用户在使用VisionMaster软件在开发视觉项目时,可能同时也使用HALCON,OpenCV等视觉算法库做一些图像的处理,并且希望能将HALCON等第三方算子集成到VM工具箱,能够在VM工具箱中拖拽出来,就像VisionMaster中的其他算法模块工具一样,可以通过弹出窗口配置运行参数,通过连线订阅其他模块传递的参数,设置ROI,通过图像窗口查看算法直接结果的渲染效果。实际上是可行的,VisionMaster是一个开放平台,可以接入第三方生态,这也是VisionMaster的一大亮点。
2023-04-28 10:36:17
1150
原创 【VM服务管家】VM4.x算法模块开发_4.2 联合OpenCV开发
将OpenCV的安装包进行解压,然后进行系统环境配置。在官网下载相应的OpenCV,例如VS2013(VC=120)这种老版本的集成环境,则OpencCV的版本则需包含VC=120,所以OpenCV的3.1.0版本满足需求。环境配置时,首先要注意OpenCV版本与集成环境VS版本(生成工具)的对应。(1)在VC++目录=>包含目录中添加三个OpenCV的相关路径。(2)在VC++目录=>库含目录中添加一个OpenCV的相关路径。现象:使用第三方库OpenCV开发时,如何进行环境配置。
2023-04-28 09:50:24
1000
原创 【VM服务管家】VM4.x算法模块开发_4.1 开发配置类
描述环境:VM4.0及以上 + VS2013现象:如何给自定义模块添加中文名称。解答第一步,使用VisionMaster4.X.0\Applications\Lang中LanguageTool工具,给算法模块增加中英文资源。具体步骤:【通过Key查找资源】中输入模块名称,然后下方分别添加模块中文值(中文名称)和英文值(英文名称),最后点击“增加/编辑”按扭。第二步,重新打开VM,模块中文名添加成功。问题根因不熟悉给算法模块添加中英文资源的方法。
2023-04-28 09:49:43
1591
2
原创 【VM服务管家】VM4.x算子SDK开发_3.4 控件嵌入类
在算子SDK中支持五种类型的图形改变事件,分别是图形添加事件(MVD_SHAPE_ADDED),图形删除事件(MVD_SHAPE_DELETED),图形编辑事件(MVD_SHAPE_EDITED),图形选中事件(MVD_SHAPE_SELECTED)以及未定义事件(MVD_SHAPE_UNDEFINE)。调用SaveImage(图片储存),以存储图片到E盘为例,示例代码如下,其中要判断路径中的文件夹已经创建。现象:有的用户在使用算子SDK开发时,希望能够在图像上显示辅助十字线。不熟悉鼠标事件的实现方法。
2023-04-28 09:47:24
1259
原创 【VM服务管家】VM4.x算子SDK开发_3.3 模块工具类
使用直线查找工具进行直线查找,在算子SDK开发中,工具入口为xxxTool,则直线查找的工具入口为CEdgeFindTool,首先定义接口对象,然后在图片上设置待直线查找的ROI区域,最后通过接口函数Run就可以获得直线的相关结果。在算子SDK开发中,针对自带的两个模型,字符识别算子调用规则是,CNNOCRTool算子调用模型lpr_ocr.bin,CNNCharRecogTool算子调用mvb_ocr.bin。首先将畸变校正工具实例化,然后设置输入图片并选择标定文件,最后获取结果,示例代码如下。
2023-04-28 09:46:09
1262
原创 【VM服务管家】VM4.x算子SDK开发_3.2 公用工具类
使用时,算子的ROI设置为直线卡尺ROI的最小外接矩形,算子基本参数的运行模式设置为ONLY_FIND模式,算子基本参数的卡尺框列表设置为卡尺框的列表。使用时,算子的ROI设置为圆卡尺ROI的最小外接矩形,算子基本参数的运行模式设置为ONLY_FIND模式,算子基本参数的卡尺框列表设置为卡尺框的列表。VM算子SDK中提供了有关相机的操作算子,首先,我们需要了解一般步骤。现象:算子SDK开发,默认支持的ROI类型不包含直线卡尺ROI和圆卡尺ROI,那么该如何生成这两种类型的ROI,并且正确传递给算子使用呢?
2023-04-28 09:44:45
1327
原创 【VM服务管家】VM4.x算子SDK开发_3.1 环境配置类
我们的算子SDK已经是封装程度比较高的了,算子工具的程序调用是完全面向对象的,通过操作对象的方法和属性就能实现特定的算法流程,可能有些客户需要对算子做进一步的抽象,将算子工具的内部属性的赋值,参数的保存与加载,模型的加载与保存,结果的获取都抽象为共同的几个接口函数,如上描述的那样。\ReferencedAssemblies\Control文件夹下的,只有一个控件在Common文件夹下,这个控件叫MvRenderActiveX.Net.dll,是一个图形处理的渲染控件,大家需要单独将这个控件添加到工具箱中。
2023-04-27 15:48:12
1116
原创 【VM服务管家】VM4.0平台SDK_2.5 全局工具类
1)全局相机连接状态的获取方法只有在图像源绑定相机里面全局相机才可获取绑定该相机的状态,获取全局相机中相机的连接状态是Open还是Close,监测相机是否掉线。2)全局相机触发源的获取和设置方法,触发源枚举值为枚举值就是 0 是LINE0, 1是LINE1,2是LINE2,3是LINE3, 7 是SOFTWARE。现象:通信管理中设备开启状态和如何通过代码设置,如何通过回调获取开启状态。现象:二次开发中,全局模块控件中的通信管理如何接收和发送数据?现象:如何获取全局相机列表并给图像源设置指定相机?
2023-04-27 15:42:58
1246
原创 【VM服务管家】VM4.0平台SDK_2.4 结果获取类
首先,建立VmSolution.OnSolutionLoadEndEvent(方案加载结束)事件,对事件中的solutionLoadEndInfo进行判断,对方案的nStatus进行判定,其中0表示方案为空闲状态,可在其中获得方案加载结果,1表示方案处于忙碌状态。现象:方案或流程运行执行之后,就可以获取结果(建议将结果获取写在回调函数里),可以通过获取渲染结果和数据结果,渲染结果通过绑定渲染控件进行显示,数据结果分为整型、浮点型、字符串型和图像型等等,VM二次开发如何获取数据结果?
2023-04-27 15:38:14
1329
原创 【VM服务管家】VM4.0平台SDK_2.3 控件嵌入类
描述环境:VM4.0.0 + VS2015及以上现象:如何在渲染控件上绘图?解答引用VMControls.WPF.dll,手动添加这个dll后,属性的复制到本地改为false。创建所需shape的对象,给对象属性赋值。调用VMRenderConTrol.DrawShape()函数,在控件上画出想要的图形。注意:模块的渲染效果和自定义图形建议放在不同的线程里渲染,且如果连续运行如果自定义图形跟不上,渲染前要加个延时。C#//画线//画矩形。
2023-04-27 15:31:35
1372
原创 【VM服务管家】VM4.0平台SDK_2.2 模块API类
2)当图像源模块输入图像为24位图,也可以将像素格式选择位RGB24,并且打开输出Mono8使能,此时运行流程,图像源的输出图像为24位图,并多了一个灰度图像数据,圆查找模块的图像输入源则选择图像源的灰度图像数据。流程中的Group中没有图像源模块,Group的输入设置如下图,Group中的其他模块需要选择图像输入源,需要提前建立联系。1)当图像源模块输入图像为24位图,可以将像素格式选择MONO8,此时运行流程,图像源的输出图像为8位图,圆查找模块的图像输入源则选择图像源的图像数据。
2023-04-27 15:24:14
1501
1
原创 【VM服务管家】VM4.0平台SDK_2.1环境配置类
第三步,启动二次开发导入工具(“\VisionMaster4.0.0\Development\V4.0.0 \ComControls\Tool\ImportRef.exe”),Module(sp)的路径在生成工程Debug下的Module(sp)文件夹,项目所在路径为bin文件的上一层,在选择完指定的路径之后,需要选择引用模块的dll以及是否选择相对路径,最后点击确定,完成环境配置。现象:在VM二次开发中,有些引用需要手动添加,如引用VMControls.WPF.dll进行在渲染控件上绘图。
2023-04-27 15:11:51
1451
原创 【VM服务管家】VM4.0软件使用_1.4 通讯类
如图中所示的那样,这里配置了5个数据发送模块,之所以要配置5个数据发送模块,是因为单个数据发送模块,发送非字符串类型且每一项数据类型又不相同是做不到的,其中复位寄存器,匹配状态数据类型是整数类型,而匹配点X,匹配点Y,匹配角度是浮点数类型,因此,这里只能用5个数据发送模块来实现。发送顺序和PLC类型有关,有的PLC使用大端模式,有的PLC使用小端模式(所谓大端模式,小端模式也就是数据的高低字节顺序不同,大端是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,小端模式恰恰相反)。
2023-04-27 14:57:12
1142
原创 【VM服务管家】VM4.0软件使用_1.3全局模块类
这里介绍两种方法,方法一为更通用的方法,其接收的数据类型可以是int,float,string,byte等类型;在流程运行的主界面中,按照下面1,2,3,4步骤操作,第一步选中算法模块,第二步选择模块结果Tab页,第三步点击订阅数据图标,第4步选择全局变量。需要注意的是:这种使用接收事件进行触发的方法属于通用型方法,接收的数据类型可以是int,float,string,byte类型。第二步:点击接收事件,进入接收事件窗口,点击事件列表后的加号,选择字节匹配处理方式,选择协议组装事件类型,点击创建。
2023-04-27 14:47:51
1434
原创 【VM服务管家】VM4.0软件使用_1.2 工具类
描述环境:VM4.0.0现象:如何在脚本模块中添加自定义的程序集?解答1.首先,打开一个脚本模块,找到“编辑程序集”,如下图所示:2.引用程序集中点击“添加”,找到自定义的程序集,如下图所示:3.最后在脚本中引用添加的程序集,便可以调用程序集中相关接口函数。1. C#2.//引用程序集问题根因不熟悉脚本模块的功能。
2023-04-27 14:25:29
1836
原创 【VM服务管家】VM4.0软件使用_1.1 环境配置类
对于实际生产场景中,则是希望间隔耗时越短越好。点击坐标左下角“Win”图标,搜索处输入“gpedit.msc”->按“确定”,打开“本地组策略编辑器”,然后“计算机配置”->“Windows 设置”->“安全设置”->“本地策略”->“安全选项”->“用户帐户控制:以管理员批准模式运行所有管理员”,改为已禁用。1)管理员权限下,安装VM4.0维护20220415的安装包,截止20220505,最新补丁为20220505,建议用户打上最新补丁,若VM4.0维护版2022年5月份之后的有完整包,也可直接使用。
2023-04-27 11:29:51
1758
原创 VM图像类型转换专题(C++)
当前行业主流的图像格式包括相机图像数据流、QImage、Mat和Halcon中的图像类型等,而VM不同开发模式的图像类型也有所不同,本文将介绍如何实现这些图像类型之间的互转。
2023-01-18 10:45:54
698
原创 【福利贴】海康机器人第一届“启智杯”机器视觉设计大赛-启动报名!
启智杯”机器视觉设计大赛是海康机器人面向全国在校学生的研究活动,以自主研发的VM算法开发平台为主要导向,通过为同学们提供实际的开发应用场景,帮助同学们深入了解机器视觉技术,获得更多专业知识与行业经验。
2023-01-13 16:26:32
487
原创 VM图像类型转换专题(C#篇)
当前行业主流的图像格式包括相机图像数据流、Bitmap、Mat和Halcon中的图像类型等,而VM不同开发模式的图像类型也有所不同,本文将介绍如何实现这些图像类型之间的互转。
2022-10-15 11:34:32
3898
6
原创 【福利帖】当我谈学习视觉时,我谈些什么
机器视觉是由硬件、软件、算法,乃至更多外围组件有机结合的智能感知系统。失去任何一部分组件,机器视觉都不能很好地工作。所以,学习机器视觉,应该掌握必要的硬件知识、常用的算法工具,以及应用层的视觉软件,并具备整个项目或应用系统的技术评估、组件开发与实施能力。.........
2022-07-18 21:04:23
4086
12
原创 【VisionMaster 行业应用案例】第二讲 多相机定位引导应用
3C、面板、汽车、新能源等行业的视觉定位应用中,经常会遇到大物料定位引导场景。视觉系统计算物料位姿的变化量,发送给机械手引导抓取或纠正物料。但是受实际场景限制,例如相机架设高度有限,此时单个相机不能拍全物料,为了更精准地定位,必须采用多相机拍物料的方式实现定位引导。...
2022-07-12 10:33:49
6568
9
原创 【VisionMaster 行业应用案例】第四讲 单相机螺纹测量应用
本案例是真实的“高血压”需求,物料无明显特征,只能观察图像来分析特征,且方案设计具有一定挑战性。但是只要思想不滑坡,办法总比困难多。通过一系列VM模块“组合拳”,最终检测率达到97%以上。...
2022-07-09 11:22:07
2842
7
原创 【VisionMaster 行业应用案例】第三讲 多相机阵列大尺寸测量应用
3C、面板、汽车、新能源等行业的视觉测量应用中,经常会遇到大尺寸物料。受实际场景限制,例如相机架设高度有限,此时单个相机不能拍全物料,必须采用多相机阵列拍物料的方式实现尺寸检测。...
2022-07-09 10:42:08
2537
11
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人