Labview Vision 机器视觉使用,从下载程序安装应用,到实战找硬币并输出值

1.前言

大家好,今天我要和机器人一起配合来打算 做机器视觉

Labview Vision 联动实现机器的视觉

2.下载软件-软件的安装

我们除了基础款的labview软件

还要安装视觉四件套

1.Labview 编程平台(我是 2023 q3)

2. NI - IMAQdx (驱动软件)

3.Vision Development (视觉助手)

4.Vision Acquisition Software (视觉软件)

我们打开 NI Packagb Manager (NI 软件下载平台)我们安装完labview 之后自动会生成一个。

想必大家都学到 视觉了,肯定已经安装好了labview 。

好了我们打开labview ,然后在这里搜索视觉 下载并安装好我框出的程序。

选择好对应的版本型号。

我们下载并安装好了这些之后就可以开启我们的视觉之路了。

3.调试好我们的摄像头

如果我们有摄像头的话,我们打开 NI MAX(没有的话去NI 官网下载一个) 我们打开NI MAX

打开我们的摄像头,然后在里面调试程序,不然视觉助手没办法调用我们的摄像头

我们先调整一下分辨率,调整一个合适的分辨率,我这里采用 640 x480  30fps 。

这个分辨率适合来做视觉处理

这里我有两个摄像头,两个摄像头都可以 ,具体选择哪个摄像头看用户自己

然后我们 点击连续调用摄像头

可以看到我们的摄像头也是被正常调用了,这时候我们点击一下保存。保存摄像头配置

这里我已经配置好了 摄像头了所以是灰色的。

我已经配置好了摄像头,下面我们进行视觉助手的使用。

4.Vision Assistant  视觉助手的新手入门  

1.初始化 视觉助手

我们下载好上面的四个程序之后然后在

开始菜单中搜索Vision Assistant 32位程序

我这个是将他放在桌面上

我们打开这个程序,这里选择 Labview 

我这里用翻译给大家看看界面 的中文翻译

2.图像处理流程

有一个 获取图像 一个浏览图片 和一个处理图像

我们正常的流程肯定是 

1.先调用摄像头拍摄下来要进行处理的图像

2.再浏览下我们拍摄的图片正确不正确

3.图像处理

4.识别图像内容

5.输出值到想要的地方。

3.调用摄像头

所以我们要先调用摄像头,拍几张照片先。

选择我们刚刚配置的摄像头,调用他拍摄几张照片

先连续调用摄像头,实时查看视觉摄像头所拍摄到的内容

找到想要的内容,按下这个照片,存储到视觉助手中。

我拍摄了几个硬币,我们就用这几个硬币来做视觉。

我这里只拍了一张,实际视觉处理的时候要多拍几张!!!!!

多情况多状况考虑。


先退出摄像头的调用,不然选择不了处理图像。

回到最初的界面

4.拍照处理图像

给大家看看 通用处理 视觉图像的一张照片 ,我觉的这个很对 

5.灰度化图像

所以我们要先把颜色灰度化。

但在这里我们只需要简单的形状判断就可以完成这次的任务了。

选择这次我们想要的灰度图像处理。

可以看到图像已经变灰色了。

然后我们点击OK。 保存一下灰度处理

所以我们直奔主题。

6.图像处理找圆图形

这里是我们处理图像的选项,有颜色状态分割,状态追踪什么的。

我们这里选择找形状,选择找圆形形状。

下翻找到形状检测。

翻译一下,调整一下检测的范围值

调整了一下值,发现全部都检测到了。

这样就ok了。

可以看到下面有编号,有范围大小 ,也有X和Y轴的坐标。

然后我们点击OK

7.生成范例VI

然后创建视觉助手生成的vi范例

选择VI保存的地址。

然后选择NEXT 

选择 

我们这只需要获取到园的值,园就是Circles 。 选择好了之后 选择finish。

生成好了vi之后保存一下。

然后视觉处理就结束。

5.Labview 调用 范例VI 提出数据

 我们进入到labview ,简单创建一个空的VI,进入后端然后开始编程。

一个经典的调用摄像机拍照的程序。

这几个空间在 运动和视觉\IMAQdx\中

将我们刚刚从视觉助手中生成的范例拖入到后端中

会发现这个vi变成了一个类似于簇的存在

可以输入相机和输出获取园的结果。

ok了之后,我们创建一个事件框,然后事件创建为一个按钮,为立即拍照。

就是拍照一下,然后给视觉助手生成的范例进行图像处理。然后再进行输出。

我以我自己做的视觉助手来进行演演示。(加了一个状态机)

我这里用的虚拟串口COM1 输出 X Y的坐标, 也就是圆心在拍照区域里的坐标

这里是这样算的 他是 640x360 的坐标,这里得到的是 x 317 y177的坐标,按照比例 也就是 

x 有640 y 有360。

然后我们点击发送 出去 x和y的值 

(这里怎么写看你们)

接受成功!!!!!

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Win10 / Win11 的 Arc 浏览器Beta版测试

Arc 浏览器Beta版测试 Arc 采用了和主流浏览器不同的用户界面,采用名为 Arc Library 的左侧边栏,可以访问 Spaces、Today 标签、Pinned 标签、收藏夹、画架和笔记等生产力工具。

​C语言顺序查找算法以及代码​

通过前面对静态查找表的介绍,静态查找表即为只做查找操作的查找表。静态查找表既可以使用顺序表表示,也可以使用链表结构表示。虽然一个是数组、一个链表,但两者在做查找操作时,基本上大同小异。 本节以静态查找表的顺序存储结构为…

Windows系统安装MySQL并用Navicat连接的操作流程(详细)

下面我以Win10,64 位操作系统, 基于 x64 的处理器为例,演示MySQL的安装及Navicat连接MySQL的操作流程,非常详细。 一、安装MySQL 第一步,双击安装包,打开安装页面,点击Next 注意这个安装包是5.5.56-win6…

dubbo--03--- dubbo 支持的9种协议

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Dubbo框架特性Dubbo 和 Spring Cloud区别 dubbo 支持的9种协议协议类型1、dubbo 协议 (默认)特性配置常见问题 2、rmi 协议3、hessian 协议4、http 协议特性 5、web…

电脑的内存条是什么?内存条的作用有哪些?

计算机已经是现代生活人们必不可少的一部分,计算机的性能决定因素之一就是内存条,内存条的作用有哪些?这篇文章让你了解内存条的主要作用。 内存条是什么 内存条是什么,它是计算机内部的一种重要硬件组件,用于临时存…

Linux 进程信号

文章目录 信号的概览信号的产生信号的处理信号集操作信号的捕捉补充与说明 信号的概览 信号由软件或硬件产生发送给进程,进程对其做相应处理。信号是进程之间事件异步通知的一种方式,属于软中断。 Linux下的全部信号由指令kill -l查询 Linux 下指令的…

el-table自定义表格数据

如上所示: 表格内的数据是:当前班级所在名次段的人数 / 当前班级1至n名的累计人数 5/12 也就是 5/75 需要变更为: 截至到当前名次段总人数(上次考试) / 截至到当前名次段总人数(本次考试&#xff09…

C++共享和保护——(5)编译预处理命令

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝 耕耘者的汗水是哺育种子成长的乳汁&am…

【数据结构】栈的使用|模拟实现|应用|栈与虚拟机栈和栈帧的区别

目录 一、栈(Stack) 1.1 概念 1.2 栈的使用 1.3 栈的模拟实现 1.4 栈的应用场景 1. 改变元素的序列 2. 将递归转化为循环 3. 括号匹配 4. 逆波兰表达式求值 5. 出栈入栈次序匹配 6. 最小栈 1.5 概念区分 一、栈(Stack) 1.1 概念 栈:一种特殊的线性表&…

SpringBoot之分层解耦以及 IOCDI的详细解析

### 3.2 分层解耦 刚才我们学习过程序分层思想了,接下来呢,我们来学习下程序的解耦思想。 解耦:解除耦合。 #### 3.2.1 耦合问题 首先需要了解软件开发涉及到的两个概念:内聚和耦合。 - 内聚:软件中各个功能模块内…

3d抄数逆向建模服务造纸机械叶轮三维扫描曲面建模-CASAIM

在造纸机械中,叶轮是重要的组成部分,造纸机械叶轮在使用过程中会承受较大外力的摩擦,长期使用容易导致外观变形破损,从而降低叶轮的工作效率和精度。因此,定期生产制作同类型的造纸机械叶轮产品,以用于替换…

YOLOv5改进 | SPPF | 将RT-DETR模型AIFI模块和Conv模块结合替换SPPF(全网独家改进)

一、本文介绍 本文给大家带来是用最新的RT-DETR模型中的AIFI模块来替换YOLOv5中的SPPF。RT-DETR号称是打败YOLO的检测模型,其作为一种基于Transformer的检测方法,相较于传统的基于卷积的检测方法,提供了更为全面和深入的特征理解&#xff0c…