1.前言
大家好,今天我要和机器人一起配合来打算 做机器视觉
用Labview 和 Vision联动实现机器的视觉
2.下载软件-软件的安装
我们除了基础款的labview软件
还要安装视觉四件套
1.Labview 编程平台(我是 2023 q3)
- 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的值
(这里怎么写看你们)
接受成功!!!!!