0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

手把手教你使用LabVIEW人工智能视觉工具包快速实现图像读取与采集

王立奇 来源:wangstoudamire 作者:wangstoudamire 2023-03-02 16:21 次阅读

前言

今天我们一起来使用LabVIEW AI视觉工具包快速实现图像的读取与颜色空间转换、从摄像头采集图像。工具包的安装与下载方法可见之前的两篇博客。

一、工具包位置

已经安装好的工具包位于程序框图-函数选板-Addons-VIRobotics-opencv_yiku,内容包括:Mat类型(矩阵)的操作、摄像头采集、图片文件读写、基本算子、视频生成、神经网络调用等功能。

工具包内容

二、图像采集与色彩空间转换

1.文件读写

(1)程序框图面板右键:File I/O,拖出拆分路径和拼接路径函数到程序框图面板待用;

在这里插入图片描述

(2)程序框图面板右键:File I/O -->File Constants,拖出当前路径函数到程序框图面板待用;

在这里插入图片描述

2.实现图片读取

(1)在程序框图面板空白处右键-->在函数选板-->Addons-->VIRobotics-->opencv_yiku-imgcodes中找到要使用的imread函数,拖出;

在这里插入图片描述

(2)imread函数读取指定路径的图片(jpg/png/bmp格式),返回Mat对象,具体输入输出如下所示:

在这里插入图片描述

(3)程序框图面板右键:Application Control-->Property Node,将属性节点拖出,用来获取Mat对象中的各种参数(本例中是图片),并放到图片控件中;

在这里插入图片描述

(4)释放Mat资源;

在这里插入图片描述

(5)按照下图所示连接,将待读取的图片与此vi置于同一路径下并运行;

在这里插入图片描述

(6)读取图片如下图所示(左侧为原图,右侧为读取出来的图片),我们发现读取的图片颜色和原图不一样;

在这里插入图片描述

3.使用算子cvtColor实现颜色空间转换

(1)因为LabVIEW中的图像排列顺序是RGB,opencv中的图像排列顺序是BGR,所以读取出来的图片颜色和原图不一样;

(2)使用算子cvtColor进行颜色空间转换,程序框图面板右键: Addons-->VIRobotics-->opencv_yiku-->imgproc: cvtColor ,拖出;

在这里插入图片描述

(3)算子cvtColor的输入与输出如下图所示:

在这里插入图片描述

(4) LabVIEW中算子(cvtColor)的使用方式一 :输入的dst端不接输入,运行函数后输出的图片会替换掉原来的图片(src out和dst out的值一致),程序及结果如下图所示:

在这里插入图片描述

在这里插入图片描述

(5) LabVIEW中算子(cvtColor)的使用方式二 :输入的dst端接一个Create_Mat,即新建一个mat对象,运行函数后,dst的内容不会影响src的内容;程序及结果如下图所示:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

三、从摄像头采集图像

1.Camera类

(1)新建一个vi,在程序框图面板右键:Addons-->VIRobotics --> opencv_yiku: Camera。找到摄像头初始化函数new_Cap,函数右上角输出Cap,是使用摄像头前的必备动作,将其拖至面板空白处备用;

在这里插入图片描述

(2)在程序框图面板右键:Addons-->VIRobotics --> opencv_yiku: Camera。找到startCaptura,将其拖至面板空白处,使用该函数若只填写camerID时,请保障摄像头正常。只要连接有preference,则有多个本地摄像头时,优先使用分配到该ID的摄像头,若该摄像头不存在,则使用其它摄像头。

在这里插入图片描述

(3)在程序框图面板右键:Addons-->VIRobotics --> opencv_yiku: Camera。找到获取图像函数readImage,接在打开摄像头之后,用以获取摄像头拍摄的图像。 Mat输出图像(矩阵);

在这里插入图片描述

(4)在程序框图面板右键:Addons-->VIRobotics --> opencv_yiku: Camera。找到停止拍摄函数stopCapture,接到程序最后,释放摄像头资源,若不操作,可能会造成下一次使用不便。

在这里插入图片描述

2.属性节点

(1)程序框图面板右键:Application Control : Property Node,拖出,接至startCaptura之后

在这里插入图片描述

(2)根据摄像头实际支持的分辨率设置宽高。属性的箭头在右侧表示读取,只需右键选择Change To Write即可修改为写入。

在这里插入图片描述

3.实现摄像头采集图像

整体程序如下,使用循环采集图像,点击stop按钮,循环结束,整个程序结束并释放资源。

在这里插入图片描述

四、源码下载

链接:https://pan.baidu.com/s/1TEihgoG5bIFz1SRCIab-mQ

提取码:8888

总结

更多关于LabVIEW与人工智能技术,可添加技术交流群进一步探讨。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • LabVIEW
    +关注

    关注

    1970

    文章

    3654

    浏览量

    323451
  • 人工智能
    +关注

    关注

    1791

    文章

    47234

    浏览量

    238351
收藏 人收藏

    评论

    相关推荐

    源码开放 智能监测电源管理教程宝典!

    源码开放,今天我们学习的是电源管理系统的核心功能模块,手把手教你如何通过不同的技术手段实现有效的电源管理。
    的头像 发表于 12-11 09:26 230次阅读
    源码开放  <b class='flag-5'>智能</b>监测电源管理教程宝典!

    Air780E模组LuatOS开发实战 —— 手把手教你搞定数据打包解包

    本文要说的是低功耗4G模组Air780E的LuatOS开发实战,我将手把手教你搞定数据打包解包。
    的头像 发表于 12-03 11:17 164次阅读
    Air780E模组LuatOS开发实战 —— <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>搞定数据打包解包

    嵌入式和人工智能究竟是什么关系?

    嵌入式和人工智能究竟是什么关系? 嵌入式系统是一种特殊的系统,它通常被嵌入到其他设备或机器中,以实现特定功能。嵌入式系统具有非常强的适应性和灵活性,能够根据用户需求进行定制化设计。它广泛应用于各种
    发表于 11-14 16:39

    手把手教你使用LabVIEW TensorRT实现图像分类实战(含源码)

    Hello,大家好,我是virobotics(仪酷智能),一个深耕于LabVIEW人工智能领域的开发工程师。 各位朋友,今天我们一起来探究一下如何基于LabVIEW使用Tens
    的头像 发表于 11-06 16:07 240次阅读
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>使用<b class='flag-5'>LabVIEW</b> TensorRT<b class='flag-5'>实现</b><b class='flag-5'>图像</b>分类实战(含源码)

    《AI for Science:人工智能驱动科学创新》第一章人工智能驱动的科学创新学习心得

    人工智能:科学研究的加速器 第一章清晰地阐述了人工智能作为科学研究工具的强大功能。通过机器学习、深度学习等先进技术,AI能够处理和分析海量数据,发现传统方法难以捕捉的模式和规律。这不仅极大地提高了数据处理
    发表于 10-14 09:12

    risc-v在人工智能图像处理应用前景分析

    人工智能推荐系统中强大的图形处理器(GPU)一争高下。其独特的设计使得该处理器在功耗受限的条件下仍能实现高性能的图像处理任务。 Ceremorphic公司 :该公司开发的分层学习处理器结合了
    发表于 09-28 11:00

    手把手教你通过宏集物联网工控屏&amp;网关进行协议转换,将底层PLC/传感器的数据转换为TCP协议并传输到用户

    手把手教你通过宏集物联网工控屏&网关进行协议转换,将底层PLC/传感器的数据转换为TCP协议并传输到用户终端
    的头像 发表于 08-15 13:29 506次阅读
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>通过宏集物联网工控屏&amp;网关进行协议转换,将底层PLC/传感器的数据转换为TCP协议并传输到用户

    FPGA在人工智能中的应用有哪些?

    FPGA(现场可编程门阵列)在人工智能领域的应用非常广泛,主要体现在以下几个方面: 一、深度学习加速 训练和推理过程加速:FPGA可以用来加速深度学习的训练和推理过程。由于其高并行性和低延迟特性
    发表于 07-29 17:05

    机器视觉人工智能的关系与应用

    视觉信息的技术。它涉及到图像的获取、处理、分析和解释,以实现对物体、场景和事件的识别、定位、测量和分类。机器视觉系统通常由图像
    的头像 发表于 07-16 10:27 917次阅读

    手把手教你在orcad中设置CIS元器件数据库,提高工作效率

    元器件数据库,就是实现上述查找元件、放置元件时所需要调用的数据库。本文将手把手教你如何在orcad中配置CIS元器件数据库。
    的头像 发表于 06-15 17:27 6096次阅读
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>在orcad中设置CIS元器件数据库,提高工作效率

    手把手教你排序算法怎么写

    今天以直接插入排序算法,给大家分享一下排序算法的实现思路,主要包含以下部分内容:插入排序介绍插入排序算法实现手把手教你排序算法怎么写在添加新的记录时,使用顺序查找的方式找到其要插入的位
    的头像 发表于 06-04 08:03 686次阅读
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>排序算法怎么写

    手把手带你移植HAL库函数

    开发者更高效地进行嵌入式开发。手把手带你移植HAL库函数HAL库提供了一套抽象接口,使开发者无需直接操作底层硬件寄存器,就能实现对硬件的控制。这种抽象使得代码能够更
    的头像 发表于 05-18 08:04 1885次阅读
    <b class='flag-5'>手把手</b>带你移植HAL库函数

    嵌入式人工智能的就业方向有哪些?

    联网ARM开发 NB-IoT开发及实战 七:python工程师,人工智能工程师 python语法基础 python核心编程 基于OpenCV的机器视觉开发 嵌入式人工智能渗入生活的方方面面,广泛应用
    发表于 02-26 10:17

    工程送样!手把手教你用好广和通RedCap模组FG131&amp;amp;FG132系列

    工程送样!手把手教你用好广和通RedCap模组FG131&FG132系列
    的头像 发表于 01-11 18:22 698次阅读
    工程送样!<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>用好广和通RedCap模组FG131&amp;amp;FG132系列

    labview视觉开发模块认识及应用

    LabVIEW视觉开发模块是NI公司推出的一款功能强大的图形化编程软件,专门用于图像处理和视觉应用开发。它提供了丰富的视觉函数和
    的头像 发表于 12-28 11:00 1473次阅读