关键词:脚本文件调试;海康visionMaster4.1;二维码识别

介绍脚本文件调试之前,先说一个“二维码识别”模块的有趣的点。
Tips:“二维码识别”模块的有趣的点

在调试的过程中发现了visionMaster4.1版本中“二维码识别”模块的一个有意思的点(4.2版我没有尝试,不知道是不是这样哈,欢迎交流)。本项目中的图片上通常有2到3个二维码,调试时发现有的二维码识别不到(例如图片中一共三个二维码,只能识别出2个),就想着修改“运行参数”,看能不能有效。如图0,它的基本运行参数如左侧图,高级参数如右侧图。因为本项目中的图片上最多有3个二维码,所以“二维码个数”填了3,极性、边缘类型里面的各种选项都尝试了,高级参数里面的各种选项都尝试了,都不能使原来没识别出的二维码识别出来,最后,你一定猜不到我改了什么,竟然好用了,所有的二维码都能准确识别出来了,哎,笑cry。欢迎评论交流。

图0

正文:脚本文件的调试步骤

海康v学院官网给了两个基本的关于脚本文件使用和调试的方法,但是不细致,对于第一次调试脚本文件的人来说,还需要更细的调试步骤指导。
下面图1是一个项目检测一摞钢板中最上层的钢板的二维码的部分代码实现。现在以调试“97脚本3”模块为例,说明海康visionMaster4.1软件中调试脚本文件的详细步骤。

图1
海康visionMaster4.1软件中调试脚本文件的步骤:
(1)先看一下海康v学院官网给出的两个基本的关于脚本文件的使用和调试方法,了解对脚本模块的基本操作,包括对输入变量和输出变量的增加、赋值和使用。
(2)进入正题,首先双击图1中“97脚本3”,按照(1)中的方法按需填写想要的输入变量和输出变量。如图2左侧区域,是我根据我项目的需要填写的变量;
(3)在图2中右侧区域定义变量用来承接刚刚步骤2填写的输入变量。可以注意到,右侧区域定义的变量,与刚刚步骤2填写的输入变量是一一对应的。

图2

图3
(4)拉动图2中右侧区滑条,在process函数下用图2中右侧区域定义的变量去承接左侧区添加的输入变量。实现承接的方法是使用其系统提供的Get…value…函数。比如,图2中用右侧in_0去承接左侧in0的方法为GetIntValue(“in0”, ref in_0)。图3中红色矩形框是本项目中相应参数的承接过程。承接之后,in_0就拥有了变量in0的值了,就可以正常使用了。
(5)然后就可以在process()函数中继续编写代码,去实现自己想要的功能。也可以通过vs进行代码的编写与调试,具体步骤为:
(5.1)点击图3中“导出工程”,弹出如下图4的对话框;
(5.2)双击“UserScript_97.sln”,进入vs编辑界面,如图5;
(5.3)双击“UserScript.cs”,然后在process函数编写代码,如图6;
(5.4)然后,在想要调试的代码行增加断点;
(5.5)点击“生成”->”重新生成解决方案”;

图4

图5
(5.6)回到VisionMaster界面,关闭脚本文件编辑界面,如图6;

图6
(5.7)再回到vs界面,点击“调试”->”附加到进程”,得到图7画面;

(5.8)在图7画面选择“ShellModuleManager.exe”,然后鼠标点击添加。然后关闭“附加到进程”窗口即可。可以看到有两个“ShellModuleManager.exe”,但其后面的ID号不同,其实这两个是分别对应图1中的两个脚本模块的。那么如何确定选择哪个呢?我的经验是,在你整个程序中脚本模块不多的情况下,比如说我这个程序里面只有两个,就可以先随便选一个,尝试一下。我们假设随便选择的这个就是对的,然后继续执行下面步骤。
(5.9)回到VisionMaster界面,如图8,点击1号或2号箭头标记的运行按钮(甚至打开脚本文件,点击图2中右下角的运行按钮也可以,但是为了保证所有数据都是全新的而不是上次执行的某个中间过程的结果对调试产生不明影响,我通常都不这么做,通常我都是点击1号箭头标记的运行俺就)。点击完运行按钮后,切换会vs界面,程序会自动停在断点的位置,如图9所示。如果你在(5.8)步骤中选了错误ID的“ShellModuleManager.exe”,那么程序此时不会自动停在断点,此时去“调试”->”附加到进程”里重新选一下另一个“ShellModuleManager.exe”就好了。注意一定要记得步骤(5.5)”重新生成解决方案”,否则就算你选对了“ShellModuleManager.exe”,程序也不会自动停在断点处。
(5.10)执行完(5.9),就可以在vs里正常调试了。可以编写代码、修改代码、调试代码,指导没问题了,关闭vs界面即可。你在vs里的所有代码修改都是自动同步到图2中脚本文件编写区的(注意一定要”重新生成解决方案”)。

图8

图9
(6)想要从脚本模块输出给外部的变量也需要类似上面的承接过程,具体方法海康v学院官网的那两个视频里已经介绍了,即用Set***value类函数即可。这个过程可以在图2画面中完成,也可以直接在vs里完成。
(7)至此,一个脚本文件就写好了。

欢迎前往微信公众号【洞观科研】探讨与交流,也可揭晓tips的答案。

海康visionMaster4.1二维码识别/检测之脚本文件的调试相关推荐

  1. 【毕业设计】机器学习二维码识别检测系统 - python opencv 机器视觉

    文章目录 0 简介 1 二维码检测 2 算法实现流程 3 特征提取 4 特征分类 5 后处理 6 代码实现 5 最后 0 简介

  2. 基于海康visionMaster上层钢板二维码识别and钢板长度测量并中心坐标输出;不同.sol程序文件间内容的拷贝

    --即将之前的两个功能((1)上层钢板二维码识别 和 (2)上层钢板长度测量并输出长度中心坐标)结合到一起. 关键词:海康visionMaster,不同.sol程序文件间内容的拷贝,流程导入,流程导出 ...

  3. OpenCV(项目)二维码识别(二维码、条形码)

    目录 过程 1.获取图片中的二维码信息 2.获取视频中的二维码信息 3.检测出二维码框 4.显示数据 5.添加数据,判断二维码是否授权 5-1:.添加数据 5-2.读取文件信息,放入数组 5-3.判断 ...

  4. android 图片二维码识别和保存(二)

    续上一篇,开发图片二维码识别功能后,我们对功能进行性能分析内存占用显著提高了,不使用该功能内存占用大约是147M,使用这个功能多次以后,高达203M. 因此对功能进行研究,发现每次生成的图片没有即时的 ...

  5. Atitit java 二维码识别 图片识别

    Atitit java 二维码识别 图片识别 1.1. 解码1 1.2. 首先,我们先说一下二维码一共有40个尺寸.官方叫版本Version.1 1.3. 二维码的样例:2 1.4. 定位图案2 1. ...

  6. 基于机器视觉的Data Matrix二维码识别

    基于机器视觉的Data Matrix二维码识别 二维码识别,这个在视觉应用中占有很重要的比例,各种各样的二维码都有可能需要识别.常见的QR码.Data Matrix码.本方案是识别Data Matri ...

  7. 二维码识别超级解决方案,工业级别

    二维码识别超级解决方案,工业级别 参考文章: (1)二维码识别超级解决方案,工业级别 (2)https://www.cnblogs.com/y114113/p/6255462.html 备忘一下.

  8. Opencv之二维码识别---QRCodeDetector

    OpenCV在对象检测模块中QRCodeDetector有两个相关API分别实现二维码检测与二维码解析: # 检测二维码 bool cv::QRCodeDetector::detect(InputAr ...

  9. openmv和stm32串口通信完成二维码识别

    openmv和stm32串口通信完成二维码识别 文章目录 前言 一.所用的硬件: 二.openmv端 2.stm32端 总结 前言 注:我只是个大一的小白,本文只完成基本功能,希望能帮助有困惑的人(我 ...

最新文章

  1. Modeling System Behavior with Use Case(1)
  2. 2020年五大虚拟现实和增强现实趋势
  3. 2018牛客网暑假ACM多校训练赛(第二场)E tree 动态规划
  4. LeetCode第121题 买卖股票的最佳时机
  5. wdr和hdr的区别
  6. CV之Harris特征点检测器-兴趣点检测(详解)
  7. EL表达式(web作业)
  8. 修改USB固件库的Customer_HID例程
  9. APP签名MD5获取
  10. android jni示例_Android GridLayoutManager示例
  11. 高斯滤波程序编写 opencv C++ CSU
  12. iOS AVPlayer支持播放的格式
  13. linux如何回到下一级,linux如何返回上一级目录
  14. 试论软件开发项目的成功因素
  15. 线程安全问题?怎么解决线程安全
  16. imap收取163/126邮件报错
  17. 《Java 编程的逻辑》笔记——第1章 编程基础(一)
  18. Word 宏命令大全
  19. BUUCTF WEB PIAPIAPIA1
  20. pyecharts-动态可视化(4)日历表 / k线图 /饼图组合 /散点图组合

热门文章

  1. 【MySQL】Python3 MySQL数据库的基本操作
  2. C语言中的宏函数与宏定义
  3. Android之禁止APP截图、录屏
  4. 51单片机基础之定时器中断(二)
  5. 小米取消html打开txt,小米手机开启文件怎么删除音效 小米手机系统7.0版本关闭解锁音效方法如下...
  6. linux 下文件批量重命名
  7. 下载调试接口 SWD 和 JTAG的区别
  8. Redis中的zset原理以及用Java实现跳跃表
  9. 如何彻底卸载python
  10. 苹果手机通讯录丢失了怎么办,请往这儿看