实现功能

首先放上我目前设计出来的程序框图

然后附上前面板

所设计程序实现的功能为:

  1. 对图像进行实时采集(未设置延时);
  2. 点击拍照实现图片拍照并存储

我事先设置了存储路径,因此存储得到的照片就保存在F盘的Labviewpic文件夹里,如下图:

即完成了图片采集与保存功能。
现在来分步讲述一下我的步骤:

图像采集

首先我们要做的是实现图像的采集

建好VI之后,在程序框图面板右键选择图中所圈的框图命令(我所用的是USB2.0接口的工业相机,我之前没找到网上教程说的那个imaq for USB框图功能,后来摸索发现其实那个功能09年NI公司不再更新了,现在用USB相机时候直接在所圈框图命令中就有)。

选择open框图,它也解释了,就是打开你的相机。那么我们的电脑并不知道你要打开的是哪个相机啊,所以这个时候我们需要在前面板中的I/O框图里选择IMAQdx Session ,选择之后你就可以选择你所要打开的相机,即cam1



那么此时前面板如下。

程序框图面板如下。

这当然是不够的,我们还需要对相机的图片进行采集,也就是需要用到configure grabgrab,如下图

即得到:

那么抓取了图片之后是不是要想办法显示,于是在前面板选择Image Display,哪一个都可以,我选择的是中间那个。

此时程序框图界面连线之后如下图

你会发现它不能运行。显示如下错误

查看help即可知道原因

image in为黑色代表必须要接线,我们此时还未接线当然是不能运行的。选择如下框图,选取最左边image management里面的第一个,即产生图像,进行连线并给它创建常量,随意取名(这里原因如上)。

此时连好线之后,如下图,已经可以运行了。运行之后会发现它是截取到了一帧图像,并不是一个如图视频一样的图像采集。

  1. 我们想要得到一个流畅的图像采集,那么应该如何实现呢?
    这时应该想到用循环,用while循环,加了之后

    此时可以设置一个一直循环,先不设置循环条件,那么现在已经可以捕捉连续的图像了。
  2. 我们不能一直开着相机啊,得关闭它并清除缓存,

    然后我们可以给这个图像采集设置停止按钮(即图中取消按钮,改名字即可),

    error inerror out相连(实现数据流顺序运行),并且在grab框图命令后的error out连线上进行解除捆绑,输出簇中的元素,我们用cancel按钮与簇中元素并联,连接到设置的循环条件处。
    这样就完成了一个简易的图像采集装置。

拍照存储

那么接下来要说的是拍照存储如何实现,首先我的设想是用事件结构来实现,但是我一直没有想清楚怎么实现按下拍照按钮就可以实现图片拍摄并存储。然后看了一些网上的例程我想到要用条件结构,拍照按钮作为条件,在“”下进行图片存储功能设置。
首先选择图片存储的VI,这个我找了很久,后来找到了

然后我们需要将grab抓取到的图像进行存储,第一步连线如下图

设置的“image quality”默认,然后我们需要给它建立文件存储路径。一般都是第几幅图.jpg,因此我们需要将它们连接起来作为文件存储名字。因此我们需要创建路径,因为我们是要将文件夹名称与文件存储名字连接起来。然后提供一个找框图命令位置的好办法:直接在NI官网输入所需框图名字,在“技术与支持”那块找函数就好了,如图。

即可得到函数所在位置。
编写好之后,选择路径框图如下图

当然文件名称我没有写,这个是可以自己设置的。数值指存储时的名称,比如我存储的习惯为:1.jpg,当然这里你可以有其他存储习惯,如果不用数值名称那么这里就直接字符串连接就好,将数值输入框图改为字符串输入框图即好。
我现在实现的功能还很简单,接下来几天实现了新的功能会继续更新。
以上就是图片采集与存储的步骤,希望能给大家带来帮助。

labview实现USB相机图像采集并拍照存储相关推荐

  1. c# 网口相机可以通过_c# Halcon 实现通过相机图像采集及处理

    [实例简介]c# & Halcon 实现通过相机图像采集及处理 [实例截图] [核心代码] using System; using System.Collections.Generic; us ...

  2. usb相机的经验总结

    有一段时间没更新了...深表遗憾啊!最近接手了一个新的项目,基本上都是从头开始写源代码,所以进度慢效率也一般.新项目的第一个模块就是关于usb采集视频数据的,目前基本完成了对本模块的代码编写.在此总结 ...

  3. Ubuntu下如何获取usb相机的PID/VID并打开指定的相机

    项目需求控制和打开两个USB摄像头,并且根据相机的PID和VID来打开指定的相机,来区分主副相机,在Windows下可以通过AForge.Video.DirectShow库来实现,但是Ubuntu下没 ...

  4. Linux下基于XScale的USB摄像头图像采集

    1.引言 摄像头分为数字摄像头和模拟摄像头两大类.传统的模拟摄像头,获取图像信息需要先将视频采集设备产生的模拟视频信号经过特定的视频捕捉卡转换成数字信号,进而才能进行存储等处理.数字摄像头可以直接捕捉 ...

  5. Andoid系统usb相机的使用方法

    公司最近在做新款产品的时候,需要同时用到四路镜头,但是目前高通的开发板上只有三个口,故打算再加上一个USB镜头.于是翻看了一下android的USB镜头的使用,发现得自己写JNI代码的,特此记录一下. ...

  6. 使用OpenCV的VideoCapture调整USB相机的对焦参数

    一.问题引入 我们在进行机器视觉图像采集任务的之前,可能会选择购买一些USB相机作为采集设备.而有些USB相机具有自动对焦的功能,打开Windows自带的相机,界面如下: 拥有调整对焦功能的相机在接入 ...

  7. 【GStreamer 】2-ubuntu v4l2-ctl 查看USB 相机基本参数

    v4l2是Video4linux2的简称,是linux中关于视频设备的内核驱动,在Linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写,摄像头设备文件位置是/dev/video0.V4 ...

  8. 一款支持大恒相机、IDS相机、普通USB相机和机械手的标定工具

    最近做了一款相机的标定软件,可以用来标定本软件支持的相机和机械手坐标系的关系.目前软件支持的相机有大恒USB相机,IDS的uEye网口相机,普通的USB相机.其中镜面靶标其实就是一种特定规则形状的标定 ...

  9. 海康工业相机USB相机问题排查思路—Windows 系统

    海康机器视觉Visionmaster-缺失检测 ​第一步骤:固件版本 a) 查看相机固件版本 b) 若较老建议升级成最新固件后再测试异常是否消失. 注意切勿跨大版本升级: 第二步骤:驱动排查 查看客户 ...

最新文章

  1. qpython手机版-qpythonl app下载
  2. c#对象集合去重_C# List集合去重操作注意点
  3. C什么k什么_cssci跟c刊有什么区别
  4. [云炬创业管理笔记]第五章打磨最有效的商业模式测试1
  5. [推荐]Windows2003 Server 设置大全(一)
  6. iOS沙盒路径的查看和使用
  7. .NET 6 Preview 3 中 ASP.NET Core 的更新和改进
  8. LQR轨迹跟踪算法Python/Matlab算法实现_LQRmatrix推导(2)
  9. Centos7 密码重置
  10. 用计算机实现工业自动化,计算机技术在工业自动化控制系统中的应用
  11. find的详细用法及其例子
  12. ubuntu 配置ip地址命令
  13. Linux内核学习笔记(2)-- 父进程和子进程及它们的访问方法
  14. IEC61850 协议分析
  15. 固定翼飞机数学建模入门(姿态角篇)
  16. Android之流行框架
  17. 计算机exo乐谱,【图片】【送谱】EXO所有歌曲的谱子【吉他谱吧】_百度贴吧
  18. 考研数学一二三区别 什么专业考研不考数学
  19. Java(springboot)连接MongoDB,终于成功啦T_T【呸】
  20. 【论文笔记】MGU-Net

热门文章

  1. 高压功率放大器在径向驻波型超声波电机研究中的应用
  2. 每位架构师都应该熟知的 10 个 SOA 设计模式
  3. u盘数据恢复的原理_数据恢复的原理是什么?
  4. 红包系统流量高并发技术,你需要知道的是...
  5. WIN10用virtualbox装ubuntu系统清理磁盘方法
  6. 中山大学计算机学科评估等级,你的学校上榜了吗?最新学科评估结果出炉,广东这些高校的专业厉害了!(附详细名单)...
  7. Python自学要多久?
  8. php采集节目单,电视节目预告
  9. 论文阅读:BEVSegFormer: Bird’s Eye View Semantic Segmentation FromArbitrary Camera Rigs
  10. 什么是网络安全等保制度