当前位置: 首页 > news >正文

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

(这里怎么写看你们)

接受成功!!!!!

相关文章:

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

1.前言 大家好,今天我要和机器人一起配合来打算 做机器视觉 用Labview 和 Vision 联动实现机器的视觉 2.下载软件-软件的安装 我们除了基础款的labview软件 还要安装视觉四件套 1.Labview 编程平台(我是 2023 q3) 2. NI - IMAQdx (驱动软…...

【delphi11】delphi基础探索【三、基础组件和事件】

目录 基础组件 1. TButton(按钮) 2. TLabel(标签) 3. TEdit(编辑框) 4. TMemo(多行编辑框) 5. TComboBox(组合框) 6. TCheckBox(复选框&…...

react hooks浅谈

一.useEffect useEffect是hooks中的生命周期函数 1.只要页面更新就触发回调: useEffect(() > { // 执行逻辑 }) 2.只运行一次(组件挂载和卸载时执行),第二个参数传空数组[]: useEffect(() > { // },[]) 3. 条件…...

stable diffusion webui之lora调用

1.触发词底模lora效果最好&#xff08;分数不一定要取到1&#xff0c;0.8也行&#xff09;&#xff1b; 2.引用时一定要使用<lora:>&#xff0c;例如<lora:C4D_geometry_bg_v2.5:0.8>&#xff1b; "prompt": "(masterpiece:1.3), (best quality:1.…...

FormData文件上传多文件上传

一、简介 ​ 通常情况下&#xff0c;前端在使用post请求提交数据的时候&#xff0c;请求都是采用application/json 或 application/x-www-form-urlencoded编码类型&#xff0c;分别是借助JSON字符串来传递参数或者keyvalue格式字符串&#xff08;多参数通过&进行连接&#…...

八股文打卡day4——计算机网络(4)

TCP和UDP的概念、特点、区别和对应的使用场景&#xff1f; 我的回答&#xff1a; 概念&#xff1a; TCP是传输控制协议&#xff0c;是面向连接、可靠的、基于字节流的传输层通信协议。 UDP是用户数据报协议&#xff0c;是无连接、不可靠的&#xff0c;基于数据报的传输层通信…...

TensorFlow(2):Windows安装TensorFlow

1 安装python环境 这一步请自行安装&#xff0c;这边不做介绍。 2 安装anaconda 下载路径&#xff1a;Index of /&#xff0c;用户自行选择自己的需要的版本。 3 环境配置 3.1 anaconda环境配置 找到设置&#xff0c;点击系统->系统信息->高级系统设置->环境变量…...

一文解决idea导入源码控制台爆红问题

文章目录 唠嗑部分背景说明idea查看maven配置 言归正传安装mavenidea配置maven 结语及资料获取 唠嗑部分 背景说明 很多新手伙伴们在导入项目源码时&#xff0c;都会遇到大片依赖爆红&#xff0c;项目跑不起来&#xff0c;小白也是把自己电脑重新配置了一番&#xff0c;复现了…...

排序算法——快排

快速排序算法最早是由图灵奖获得者Tony Hoare设计出来的,他在形式化方法理论以 及ALGOL.60编程语言的发明中都有卓越的贡献,是20世纪最伟大的计算机科学家之—。 而这快速排序算法只是他众多贡献中的—个小发明而已。 快速排序&#xff08;Quick Sort&#xff09;的基本算法思…...

第二节TypeScript 基础语法

1、typescript程序由以下几个部分组成&#xff1a; 模块函数变量语句和表达式注释 2、开始第一个typescript程序 创建一个typescript程序&#xff0c;使之输出“hello typescript”&#xff1a; 代码&#xff1a; var message:string "hello typescript" cons…...

Go、Python、Java、JavaScript等语言的求余(取模)计算

余数符号规则&#xff1a; Go&#xff08;%&#xff09;&#xff1a; 余数与被除数符号一致 Java&#xff08;%&#xff09;&#xff1a; 余数与被除数符号一致 JavaScript&#xff08;%&#xff09;&#xff1a; 余数与被除数符号一致 Python&#xff08;%&#xff09;…...

scrapy快加构造并发送请求

scrapy数据建模与请求 学习目标&#xff1a; 应用 在scrapy项目中进行建模应用 构造Request对象&#xff0c;并发送请求应用 利用meta参数在不同的解析函数中传递数据 1. 数据建模 通常在做项目的过程中&#xff0c;在items.py中进行数据建模 1.1 为什么建模 定义item即提前…...

【C++】谈谈深拷贝与浅拷贝

目录 一、浅拷贝 1.定义 2.示例 3.问题 二、深拷贝 1.定义 2.示例 3.优点 三、考虑场景 浅拷贝的考虑 1.性能要求 2.简单地数据结构 3.资源管理 深拷贝的考虑 1.动态内存分配 2.复杂数据结构 3.资源管理 总结 一、浅拷贝 1.定义 浅拷贝是指对对象进行复制时…...

电商API接口如何驱动业务:代码演示与解析

随着电子商务的飞速发展&#xff0c;电商平台的业务逻辑日益复杂&#xff0c;涉及的模块和功能也越来越多。在这个过程中&#xff0c;电商API接口扮演着至关重要的角色。通过API接口&#xff0c;不同的业务模块可以相互通信&#xff0c;实现数据和服务的共享&#xff0c;提高业…...

秋招总结_就业

2020秋招总结 【前言】 以下内容是写给研二学弟学妹们的秋招总结&#xff0c;研一的师弟师妹们如有需要&#xff0c;也可看看。先说一下我为什么要写这个总结&#xff1a; 1、时代在变化&#xff0c;社会在发展&#xff0c;一届有必要给下一届讲一些经验。 2、我平时和你们…...

基于查表法的水流量算法设计与实现

写在前面 本文分享的是一种基于查表法的水流量的算法方案设计与实现&#xff0c;算法简单易懂&#xff0c;主要面向初学者&#xff0c;有两个目的&#xff1a;一是给初学者一些算法设计的思路引导&#xff1b;二是引导初学者学习怎样用C语言编程实现。 一、设计需求 基于“19…...

Python:复制、移动文件到指定文件夹

需要考虑的问题&#xff1a; 指定文件夹是否存在&#xff0c;不存在则创建在指定文件夹中是否存在同名文件&#xff0c;是覆盖还是另存为 import os import shutil import tracebackdef copyfile(srcfile, dstpath, replaceFalse):"""复制文件到指定文件夹par…...

类和对象(中篇)

类的六个默认成员函数 如果一个类中什么成员都没有&#xff0c;简称为空类。 空类中真的什么都没有吗&#xff1f;并不是&#xff0c;任何类在什么都不写时&#xff0c;编译器会自动生成以下6个默认成员函数。 默认成员函数&#xff1a; 用户没有显式实现&#xff0c;编译器会…...

简单几步完成SVN的安装

介绍以及特点 SVN&#xff1a;Subversion&#xff0c;即版本控制系统。 1.代码版本管理工具 2.查看所有的修改记录 3.恢复到任何历史版本和已经删除的文件 4.使用简单上手快&#xff0c;企业安全必备 下载安装 SVN的安装分为两部分&#xff0c;第一部分是服务端安装&…...

NFS原理详解

一、NFS介绍 1&#xff09;什么是NFS 它的主要功能是通过网络让不同的机器系统之间可以彼此共享文件和目录。 NFS服务器可以允许NFS客户端将远端NFS服务器端的共享目录挂载到本地的NFS客户端中。 在本地的NFS客户端的机器看来&#xff0c;NFS服务器端共享的目录就好像自己的磁…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

synchronized 学习

学习源&#xff1a; https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖&#xff0c;也要考虑性能问题&#xff08;场景&#xff09; 2.常见面试问题&#xff1a; sync出…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作&#xff1a; 1&#xff09;、切换集群 2&#xff09;、切换节点 3&#xff09;、切换到 apparmor 的目录 4&#xff09;、执行 apparmor 策略模块 5&#xff09;、修改 pod 文件 6&#xff09;、…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

图表类系列各种样式PPT模版分享

图标图表系列PPT模版&#xff0c;柱状图PPT模版&#xff0c;线状图PPT模版&#xff0c;折线图PPT模版&#xff0c;饼状图PPT模版&#xff0c;雷达图PPT模版&#xff0c;树状图PPT模版 图表类系列各种样式PPT模版分享&#xff1a;图表系列PPT模板https://pan.quark.cn/s/20d40aa…...