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的值 

(这里怎么写看你们)

接受成功!!!!!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

客户关系管理系统 crm

系统开发环境以及版本 操作系统: Windows_7集成开发工具: Eclipse EE_4.7编译环境:JDK_1.8Web服务器:Tomcat_9.0数据库:MySQL_5.7.23 系统框架 spring框架springmvc框架mybatis框架Logback日志框安全验证框架maven框架…

数据库增删改查Native SQL

DBCO:检查数据库是否连接 代码: 查询: DATA: gv_dbs TYPE char30 VALUE XXXXXXXX. "数据库连接名称 DATA:gt_ztclaim_2 TYPE TABLE OF ztclaim_2. DATA:gs_ztclaim_2 TYPE ztclaim_2.TRY.EXEC SQL.CONNECT TO :GV_DBSENDEXEC.EXEC SQ…

速度与稳定性的完美结合:深入横测ToDesk、TeamViewer和AnyDesk

文章目录 前言什么是远程办公?远程办公的优势 远程办公软件横测对象远程软件的注册&安装ToDeskTeamViewerAnyDesk 各场景下的实操体验1.办公文件传输及丢包率2.玩游戏操作延迟、稳定3.追剧画质流畅度、稳定4.临时技术支持SOS模式 收费情况与设备连接数总结 前言…

【兔子王赠书第13期】AI绘画实战:Midjourney从新手到高手

文章目录 写在前面AI绘画推荐图书一本书读懂AI绘画关键点内容简介作者简介 推荐理由粉丝福利写在后面 写在前面 如今AI技术已经进入了我们的日常学习生活中,如何用一本书轻松玩转AI绘画,领略无限艺术可能呢? AI绘画 AI绘画是指利用人工智能…

【python】深拷贝和浅拷贝

能使用.copy()的对象: 需要是能改变元素的对象比如 list 和 set 还有 字典dic就可以改变对象,可以使用copy函数但是类似于 一个整数 a10 或者 元组 或者字符串就不能使用copy函数,因为他们是不可改变的对象 深拷贝和浅拷贝 浅拷贝就是这能复…

响应式布局2:手写响应式导航栏(BootStrap实现以及原生实现)

1.响应式导航栏介绍 响应式导航栏是一种在不同设备和屏幕尺寸下自适应布局和显示的导航栏。它可以根据用户所使用的设备(如桌面电脑、平板电脑或手机)自动调整其外观和交互方式,以提供更好的用户体验。 pc端: 手机端&#xff1a…

如何打造自己的知识付费小程序平台

在当今知识付费的浪潮中,我们经常可以看到各种知识付费平台如雨后春笋般涌现。然而,这些平台往往只是一个过客,让我们短暂停留后,便淹没在信息的海洋中。如果你有一个出色的课程,为什么不让它在一个属于你自己的平台上…

TypeError: Cannot read properties of undefined (reading ‘row‘)原因及解决办法

TypeError: Cannot read properties of undefined (reading ‘row’) 这个错误表明 Vue 在渲染时试图读取未定义或空值的属性,导致无法访问到属性 ‘row’。需要加入插槽slot-scope“scope”

JVM-9-Class类文件的结构

Java技术能够一直保持着非常良好的向后兼容性,Class文件结构的稳定功不可没。 Class文件是一组以8个字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在文件之中。 Class文件格式采用一种类似于C语言结构体的伪结构来存储数据&#xff0c…

如何用idm下载迅雷 2024最新详细解析

有许多小伙伴日常习惯用迅雷处理或者下载文件,对于普通用户,由于迅雷平台的限速,下载速度仅有几十kb。此外,还有一些小伙伴安装idm后软件界面是英文,那么如何用idm下载迅雷,idm怎么设置中文呢?今…

Nginx+keepalived实现高可用负载群集

实现方式 使用Nginx作为负载调度器,通过四层代理转发给web器处理请求,实现负载均衡; 在Nginx调度器上配置脚本监控(健康检查),实现主备热备份,当主失效切换至备工作。 实验 实验准备 Web 服…

Linux 进程信号

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

SQL进阶理论篇(十):数据库中的锁

文章目录 简介按照锁的粒度进行划分从数据库管理的角度进行划分从程序员的角度进行划分为什么共享锁会发生死锁?参考文献 简介 索引和锁,是数据库中的两个核心知识点。 索引的相关知识点,在之前的几章里我们已经介绍的差不多了。接下来我们…

结构体基础例题

这里写目录标题 例题一例题解析答案 例题二例题解析答案 例题三例题解析答案 例题四例题解析答案 例题五例题解析及答案 例题六例题解析及答案 感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接 🐒🐒🐒 个人主页 &#x1f978…

如何在大型Python项目中优雅地使用Dotenv

如何在大型Python项目中优雅地使用Dotenv 引言Dotenv的基本概念什么是Dotenv?Dotenv的工作原理如何在项目中使用Dotenv 环境变量与大型项目配置环境变量的重要性管理不同环境的配置使用Dotenv优化配置管理 Dotenv的高级应用动态配置与环境切换安全性和敏感数据管理与…

深入了解Linux信号:作用、产生、捕捉和阻塞

这里写目录标题 引言1. 信号的基本概念1.1 信号的分类和编号:1.2 查看信号默认处理动作1.3 信号的作用1.4 信号的产生1.4.1通过终端按键产生1.4.2通过系统函数向进程发信号1.4.3由软件条件产生信号1.4.4硬件异常产生信号 2. 常见信号及其作用SIGINT (2) - 中断信号&…

智慧水务系统解决了哪些问题

随着城市化进程的加快,水资源的日益紧缺和水环境问题的日益突出,传统的水务管理方式已经无法满足现代城市的需求。为了解决这些问题,智慧水务系统应运而生。 一、智慧水务系统概述 智慧水务系统是一种基于物联网、大数据、云计算等先进技术…

回归预测 | MATLAB实现NGO-SCN北方苍鹰算法优化随机配置网络的数据回归预测 (多指标,多图)

回归预测 | MATLAB实现NGO-SCN北方苍鹰算法优化随机配置网络的数据回归预测 (多指标,多图) 目录 回归预测 | MATLAB实现NGO-SCN北方苍鹰算法优化随机配置网络的数据回归预测 (多指标,多图)效果一览基本介绍…

前端检测字符串中是否含有特殊字符,并返回该特殊字符

一、判断字符串中是否含有特殊字符 const hasSpecicalCharacter (str) > {var regex /[!#$%^&*(),.?":{}|<>]/return regex.test(str) } //含有特殊字符返回true, 没有特殊字符返回false 二、判断字符串中是否含有特殊字符&#xff0c;并返回该特殊字符…

作业--day32

机械臂 #include <myhead.h>#define PORT 8888 #define IP "192.168.125.59"int main(int argc, const char *argv[]) {int sfd socket(AF_INET, SOCK_STREAM, 0);if(sfd -1){perror("socket error");return -1;}int reuse -1;if(setsockopt(sfd…