【Labview机器视觉】- USB摄像头识别一维码(条形码)- 学习记录

  • 前言
  • 一、读取USB摄像头
  • 二、拍照并储存
  • 三、读取一维码
  • 后记

前言

本篇文章是关于Labview机器视觉学习的记录。
1、实现效果:

2、摄像头说明:
本次学习使用USB摄像头。我使用普通的摄像头,不带聚焦功能,导致拍照模糊,识别效果差。

3、其他说明:
在本次学习中没有使用任何图像增强或者矫正算法,所以识别效果较差,需要保证拍摄的图片质量较高。
我使用2021版的Labview,使用到了如下扩展:

一、读取USB摄像头

首先我们需要在Labview中打开摄像头:

打开摄像头的完整程序如下:

在前面板选择好摄像头和Continuous,就会以视频流的形式展现出来。
实现效果如下:

二、拍照并储存

为什么会有拍照和储存这一步呢?
我当时并没有把程序做成在视频中实时识别一维码的形式,而是选择路径调用的形式来识别。
整体程序思路如下:

#mermaid-svg-I7jzgxffvnJGoahY {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-I7jzgxffvnJGoahY .error-icon{fill:#552222;}#mermaid-svg-I7jzgxffvnJGoahY .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-I7jzgxffvnJGoahY .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-I7jzgxffvnJGoahY .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-I7jzgxffvnJGoahY .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-I7jzgxffvnJGoahY .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-I7jzgxffvnJGoahY .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-I7jzgxffvnJGoahY .marker{fill:#333333;stroke:#333333;}#mermaid-svg-I7jzgxffvnJGoahY .marker.cross{stroke:#333333;}#mermaid-svg-I7jzgxffvnJGoahY svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-I7jzgxffvnJGoahY .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-I7jzgxffvnJGoahY .cluster-label text{fill:#333;}#mermaid-svg-I7jzgxffvnJGoahY .cluster-label span{color:#333;}#mermaid-svg-I7jzgxffvnJGoahY .label text,#mermaid-svg-I7jzgxffvnJGoahY span{fill:#333;color:#333;}#mermaid-svg-I7jzgxffvnJGoahY .node rect,#mermaid-svg-I7jzgxffvnJGoahY .node circle,#mermaid-svg-I7jzgxffvnJGoahY .node ellipse,#mermaid-svg-I7jzgxffvnJGoahY .node polygon,#mermaid-svg-I7jzgxffvnJGoahY .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-I7jzgxffvnJGoahY .node .label{text-align:center;}#mermaid-svg-I7jzgxffvnJGoahY .node.clickable{cursor:pointer;}#mermaid-svg-I7jzgxffvnJGoahY .arrowheadPath{fill:#333333;}#mermaid-svg-I7jzgxffvnJGoahY .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-I7jzgxffvnJGoahY .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-I7jzgxffvnJGoahY .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-I7jzgxffvnJGoahY .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-I7jzgxffvnJGoahY .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-I7jzgxffvnJGoahY .cluster text{fill:#333;}#mermaid-svg-I7jzgxffvnJGoahY .cluster span{color:#333;}#mermaid-svg-I7jzgxffvnJGoahY div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-I7jzgxffvnJGoahY :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}

拍照并把照片储存
调用储存路径
打开摄像头
储存文件夹
识别程序进行识别

主要通过该方法将图片进行储存:

该部分完整代码如下:

三、读取一维码

到最后一步了,我们需要对已拍摄的图片内容进行识别。
在视觉与运动中的machine vision:

调用图片与识别内容程序如下:

最后再把前面打开摄像头、拍照和储存图片的程序与该程序整合到一起就可以使用了。

后记

这个项目是两年前偶然看到的,后面通过查资料简单实现了一下;时隔较长,部分代码细节忘了。
如果需要完整的vi(读取USB摄像头、拍照并储存和读取一维码)可以通过该链接下载:Labview机器视觉-识别一维码(条形码)使用USB摄像头
也可以三连本文章之后找我领取~
订阅本系列文章,学习更多关于Labview开发机器视觉的知识。

【Labview机器视觉】- USB摄像头识别一维码(条形码)- 学习记录相关推荐

  1. usb摄像头识别答题卡系统

    最近使用QT+Mysql+OpenCv写了一个USB摄像头识别答题卡系统,可以把数据保存到数据库中并支持导出Excel文件和输出学生答题情况的日志,话不多说,下面介绍一下大概的流程,使用一个线程作为图 ...

  2. java如何识别一维码和二维码的内容

    java如何识别一维码和二维码的内容' 首先springboot项目中引入hutool依赖 <dependency><groupId>cn.hutool</groupId ...

  3. 【Labview机器视觉】- USB摄像头识别和解码二维码 - 学习记录

  4. 使用OpenCV+Zbar一维码(条形码)识别

    1. 工具 opencv4.5.1 + Zbar库. opencv4集成了二维码检测,但没条形码检测,这里用常规zbar库进行识别. zbar库的下载与安装: 首先配置zbar库: Zbar安装包下载 ...

  5. 基于ROS的使用USB相机识别QR码

    此篇文章比较水,基本安装就可以完成 1.ros usb相机驱动包 安装即可 2.QR识别ROS包,这好有人写了一个,在这里 安装即可 测试:把usb驱动包发布的话题remap到QR识别包即可.识别速度 ...

  6. Qt识别一维码、二维码软件分享

    一.效果展示 二.实现方案 识别主要通过qzxing库来识别,库的下载和编译百度一下. 三.实现源码 mainwindow.h #ifndef MAINWINDOW_H #define MAINWIN ...

  7. .net 识别一维码_天若OCR文字识别 v5.0 原创好用的OCR及翻译小工具

    一款非常好用的OCR及翻译小工具,集合百度.腾讯.有道.搜狗, 调用了各大网站的ocr接口,免费不限次数(有道免费接口有ip限制仅供娱乐). 1.对于搜狗的接口调用的还是http://ocr.shou ...

  8. 【毕业设计】机器视觉答题卡识别系统 - python 深度学习

    文章目录 1 简介 2 什么是机器视觉 3 实现步骤 4 最后 1 简介

  9. STL源码剖析—学习记录

    提示:建议看完侯捷老师的STL标准库视频后,再看这本书,会看的下去一些!本人对其中重点内容和概念进行了提取,希望对一起前行的人有些许帮助,码字不易,欢迎点个赞呦! 文章目录 一.可能令你困惑的C++语 ...

最新文章

  1. Gartner2018新兴技术成熟度曲线:人机界线日益模糊!
  2. iptables规则的查看、添加、插入、删除和修改
  3. linux 编译器错误,linux – GHCi – Haskell编译器错误 – /home/user/.ghci归其他人所有,IGNORING...
  4. IOS工作笔记(五)
  5. pytorch 序列化性能测试
  6. python traceback对象_Python traceback【转】
  7. github单独下载某个文件或文件夹
  8. MySQL 指定过滤条件
  9. c语言disp是什么意思及用法,disp(disp是什么功能)
  10. iOS开发之UITableView全面解析
  11. eclipse中导入jar包源文件
  12. 51单片机语音跳绳计播报跳绳数目
  13. java进销存系统--采购入库
  14. 惠普打印机双击之后没有扫描_惠普打印机为什么扫描不了,显示这个,什么意思,怎么处理?急...
  15. 【仿人机器人】机器人基础介绍
  16. 训练集和测试集的区别
  17. Mac的开机启动项如何关闭?
  18. 安全加密邮箱哪个好?
  19. 关于360系列手机定位不准确中的一种问题--位置穿越
  20. Zooming Slow-Mo: Fast and Accurate One-Stage Space-Time Video Super-Resolution

热门文章

  1. 【华人学者风采】汪玉 清华大学
  2. 改善用户体念:jsp+Ajax实现实时上传,删除,导入Excel进度条
  3. android studio seekbar 简单音乐播放器
  4. 自己不行就认为别人也不可能
  5. 【mysql】 Windows下使用DOS命令进入MySQL数据库
  6. php算法,记录PHP常见的几种算法
  7. RTP协议解析及H264/H265 音视频RTP打包分析
  8. 【uniapp】如何设置单个页面背景颜色
  9. 平板电脑win10 android比较好,华为MateBook名不副实!Win10平板电脑最合适
  10. QGIS二次开发:鼠标在地图上移动时,状态栏显示鼠标所在位置经纬度