NIVision-相机图像采集

应用场景

        上位机与工业相机通讯,控制相机抓取图像。

        工业相机的通讯接口大多为USB口或网口。

  1. USB口则直接将通讯线缆插入上位机USB端口,打开MAX中设备与接口一栏可以看到电脑给相机分配的资源名称;
  2. 网口则需要将网线连接相机和上位机,然后安装相机对应的驱动,在安装的软件中为相机配置IP,并将上位机对应网口配置为同一网段的IP。之后打开MAX中设备与接口一栏也可以看到电脑给相机分配的资源名称;

代码分享

        如果安装了NI Vision相关的模块,那么你可以在NI Example Finder中的Hardware Input and Output一栏中的Vision Acquisition文件夹中找到NI自带的相机视觉采集的示例。或者在labview的安装目录下找到对应的示例文件夹,见下图:

我这里展示一个比较简单的图像采集的示例:

 代码解析:

  1. imaq create.vi创建图像缓存,存储由imaqdx grab2.vi采集到的图像;
  2. imaqdx open camera.vi 打开相机;
  3. imaqdx configure grab.vi 配置相机连续采集和一些参数;
  4. imaqdx grab2.vi 连续采集图像;
  5. imaqdx close camera.vi 关闭相机;
  6. imaq dispose.vi 清空图像缓存。

        我一般不怎么用单次采集snap,我会让程序一直连续采集,在需要使用瞬时图片时,从连续采集的图片缓存中copy一帧图像即可,使用imaq copy.vi。

        如果你想用snap,可以仿照上面的vi结构替换相应的底层vi即可。总体的思想都是创建图像缓存,打开相机,配置采集,开始采集,停止采集,关闭相机,清空图像缓存这样的顺序。

技巧分享

        这里的技巧分享不仅适用于相机视觉系统,也适用于所有的函数快速定位。

        以视觉系统VDM模块为例,当我们想要在程序框图中使用imaq create.vi这个函数,如果我们通过函数板一级一级定位,需要经过好几级的跳转才能找到对应的函数。多次函数的使用都要经过这样一个步骤会让我们烦躁不安。

        见下图,imaq create.vi藏得太深了。

 

所以我在这里想推荐大家使用菜单栏里视图下的快速放置功能。

        如果我们知道需要使用到的函数的名称,直接输入对应的名称就能快速定位该函数,之后鼠标双击或者敲击键盘回车键就可以将函数块放置在程序框图中,这样大大提高了我们书写代码的速度,避免了寻找模块的繁琐过程。

        当然我们也可以使用函数板的搜索栏,其实是一样的效果。但是我更推荐快速放置,因为它可以配置快捷键,快速弹出,真的很丝滑。

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

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

相关文章

linux命令详解——uniq,wc,tr

uniq uniq可以对查看内容去重 但在我们使用时会发现,uniq的去重逻辑是,当遇到连续多行内容相同时,去除重复行,而对间隔重复内容,无法实现去重功能 这里想到可以将sort与uniq结合使用,先对文件内容进行排序…

WM8978 —— 带扬声器驱动程序的立体声编解码器(5)

接前一篇文章:WM8978 —— 带扬声器驱动程序的立体声编解码器(4) 九、寄存器概览与详解 1. 整体概览 WM8978芯片共有58个寄存器,整体总表如下: 2. 详细说明 在此,只介绍WM8978较为常用的那些寄存器。 &…

1Panel应用推荐:DataEase开源数据可视化分析工具

1Panel(github.com/1Panel-dev/1Panel)是一款现代化、开源的Linux服务器运维管理面板,它致力于通过开源的方式,帮助用户简化建站与运维管理流程。为了方便广大用户快捷安装部署相关软件应用,1Panel特别开通应用商店&am…

SQL Server 文件组详解

数据文件组 SQL Server 数据库最常用的存储文件是数据文件和日志文件。 数据文件用于存储数据,由一个主要数据文件(.mdf)和若干个次要数据文件(.ndf)构成;日志文件用于存储事物日志,由.ldf文件…

Android 动态类加载实现免安装更新

随着Html5技术成熟,轻应用越来越受欢迎,特别是其更新成本低的特点。与Native App相比,Web App不依赖于发布下载,也不需要安装使用,兼容多平台。目前也有不少Native App使用原生嵌套WebView的方式开发。但由于Html渲染特…

【C#】C#窗体应用修改窗体的标题和图标

修改窗体顶部的标题和图表,如果不修改则会使用默认的图标,标题默认为Form1,如第一张图,这时候如果想换成和系统有关的内容,如第二张图,可以使用下面的方法进行修改,修改后打开该软件任务栏显示的…

网络安全笔记-day6,NTFS安全权限

文章目录 NTFS安全权限常用文件系统文件安全权限打开文件安全属性修改文件安全权限1.取消父项继承权限2.添加用户访问权限3.修改用户权限4.验证文件权限5.总结权限 强制继承父项权限文件复制移动权限影响跨分区同分区 总结1.权限累加2.管理员最高权限2.管理员最高权限 NTFS安全…

开源数据集 nuScenes 之 3D Occupancy Prediction

数据总体结构 Nuscenes 数据结构 可以看一下我的blog如何下载完整版 mmdetection3d ├── mmdet3d ├── tools ├── configs ├── data │ ├── nuscenes │ │ ├── maps │ │ ├── samples │ │ ├── sweeps │ │ ├── lidarseg (o…

Prometheus Grafana 配置仪表板

#grafana# 其实grafana提供了丰富的Prometheus数据源的仪表板,基本上主流的都有,通过下面官方地址可查阅 Dashboards | Grafana Labs 这里举例说明,配置node_exporter仪表板 首先,在上面的网站搜索 node 可以查到蛮多的仪表板…

【使用redisson完成延迟队列的功能】使用redisson配合线程池完成异步执行功能,延迟队列和不需要延迟的队列

1. 使用redisson完成延迟队列的功能 引入依赖 spring-boot-starter-actuator是Spring Boot提供的一个用于监控和管理应用程序的模块 用于查看应用程序的健康状况、审计信息、指标和其他有用的信息。这些端点可以帮助你监控应用程序的运行状态、性能指标和健康状况。 已经有了…

【现代C++】统一初始化

现代C中的统一初始化(Uniform Initialization)是C11引入的一项特性,它提供了一种统一的语法来初始化任何类型的对象。统一初始化旨在增强代码的一致性和清晰度,减少传统初始化方式中的歧义。以下是统一初始化的几种用法及相应的示…

Leetcode 226. 翻转二叉树

心路历程: 翻转一瞬间没什么思路,其实就是挨个把每个结点的左右子树都翻转了。主要不要按照左右子树去思考,要按照结点去思考。 翻转既可以从上到下翻转(前序遍历),也可以从下到上翻转(后序遍历…

张桥社区组织“平安大讲堂”企业应急救护及消防主题培训

为进一步加强园区商户的平安生产意识,提升应急救护能力,在襄阳市民政局的指导和支持下,襄阳市和时代社会工作服务中心依托襄阳市“光明谷”社会组织助力共同缔造项目,联合樊城区红十字会、樊城区点爱志愿者协会在张桥社区“美世界…

基于飞凌嵌入式i.MX6ULL核心板的电梯智能物联网关方案

电梯是现代社会中不可或缺的基础性设施,为人们的生产生活提供了很大的便捷。我国目前正处于城镇化的快速发展阶段,由此带动的城市基础设施建设、楼宇建设、老破小改造等需求也让我国的电梯行业处在了一个高速增长期。截至2023年年底,中国电梯…

Linux:rpm部署Jenkins(1)

1.获取Jenkins安装包 我这里使用的是centos7系统,ip为:192.168.6.6 2G运存 连接外网 Jenkins需要java环境,java的jdk包你可以去网上下载离线包,或者直接去yum安装,我这里使用的是yum安装 再去获取Jenkins的rpm包…

练习 12 Web [极客大挑战 2019]BabySQL

本题复习:1.常规的万能语句SQL查询,union联合查询,Extractvalue()报错注入 extractvalue(1,concat(‘0x7e’,select(database())))%23 我一开始挨着试,感觉都无效 直到报错注入,查到了库名‘geek’ 尝试查表名&…

Pytest测试框架+allure+jenkins自动化持续集成

Pytest是python的一种单元测试框架,可通过pytest 目录路径来运行测试用例 可以通过断言assert来测试是否通过 1.pytest测试用例命名规范 需严格遵循此规范,不然使用 pytest 目录 来运行会找不到该条测试用例。 可通过这样定义main函数&#xf…

【目标检测】YOLOv9理论解读与代码分析

前言 YOLO这个系列的故事已经很完备了,比如一些Decoupled-Head或者Anchor-Free等大的策略改动已经在YOLOv8固定下来,后面已经估计只有拿一些即插即用的tricks进行小改。 mmdetection框架的作者深度眸也在知乎上对“是否会有YOLOv9”这一观点发表看法&a…

【深入理解 Spring 事务】实现CURD

个人名片: 🐼作者简介:一名大三在校生,喜欢AI编程🎋 🐻‍❄️个人主页🥇:落798. 🐼个人WeChat:hmmwx53 🕊️系列专栏:🖼️…

Flutter动画(一)Ticker、Animate 原理

在任何系统的UI框架中,动画原理都是类似的,即:在一段时间内,快速地多次改变UI外观;由于人眼会产生视觉暂留,所以最终看到的就是一个“连续”的动画。 Flutter中对动画进行了抽象,主要涉及 Anim…