不知道从什么时候开始,

我们的生活中充满了二维码,

看网页需要扫二维码,加好友需要扫二维码,

就连公司门口卖烤红薯的大爷都要大家扫二维码了。

你有没有想过,这个长得很奇怪的东西,

是怎么来的呢,又是什么原理呢?

二维码其实就是由很多0、1组成的数字矩阵。

最早于1994年被日本公司Denso Wave的腾弘发明,并且由原来的条形码改造而来,相比条形码数据能力存储能力都大大提升。

最先的二维码是彩色的,主要用来追踪其公司旗下汽车零部件维修等情况,后来在此基础上为了提高工作效率Denso Wave公司又改进出了今天常见的黑白。

总的来说 二维码已经成了生活中必不可少的一部分,也确实为我们的生活带来了很多便捷。二维码在机器视觉中运用的也是炉火纯青了,今天小编就带大家一起学习下SGVision——条码识别算法。

条码检测算法实际应用场景:检测条码二位码。主要用于读取识别条形码、QR 码(二维码)

开始之前还是先来学习下

✔围绕条码识别算法的参数

图像缩放尺寸】:当条码的形状太大或者太小的时候,可以用此命令适当缩放;

合格标准】:此命令可以根据需要钩选;目的是输入原本的条码结果,与检测的条码进行对比,判断结果相同则 OK,判断结果不同则 NG

测试结果】:此处会显示条码的检测结果。

设置为基准】:以此测试结果为基准,来对比其他条码检测结果。

在参数栏目里有【条码类型】,可选条码、QR 码或 Datamtrix 类型,根据我们检测需求来调整。

我们先打开SGVision软件,按【F4】快捷键进入算法页面,【导入需要检测的图片选择检测栏目选中条码识别】,框选出检测区域。

非常快捷 可以看到很快就识别出二维码了

,时长00:21

再来检测左边这个二维码发现没有识别出来,其实是【条码类型】没有选对,所以识别不了,我们选择Dm码就准确的把条码内容检测出来了。

,时长00:23

这里有一个【提取文本】的工具,就是我们可以选择从第二个位置开始提取,视频上可以看到把第一个S漏掉了。

,时长00:27

 

▲起始位置为1测试结果                     ▲起始位置为2测试结果

长度】的意思就是提取的文本有多少个,比如说我从第二个开始,提取总共三个数字,它就变成GVi 三个文本了:如果选择-1就是从第二个开始剩下的全部保留。就是在于说有时候条码前面可能有流水号或者无效的标示符,要去掉的话就可以利用【提取文本】的工具。

接下来我们说说【合格标准

第一个选项:【仅识别

只要我们能测的出的文本就为OK,测不到就NG

,时长00:34

第二个选项:【与基准比对

不管他是什么二维码,只要他的编码内容跟我们设置的基准一样就为OK。我这里测试其他不一样的二维码,大家可以看下对比。与基准图一样的即为OK,反之为NG

,时长00:31

第三个选项:【历史记录的查重

这个功能是可以导入记录也可以导出记录的

可以选择说每次检测完之后,勾选检测后添加记录到历史,他就会把这个记录存下来,下一次我们再检测的话,会发现他NG,虽然他识别出条码了,但是因为重复出现过所以为NG。有一些场景,是需要查询这个条码有没有重复出现过的,那就可以用上这个功能。

这里给大家导出文本示范一下

,时长01:00

可以看到上面存了几个历史记录了,这种情况下,如果再一次测试就会显示NG,第一次检测的时候都是OK,但是再一次测试就会NG,就是一种查重的功能,如果把历史清空掉,那就都是OK的了。

当然我们也可以直接导入我们之前存档的记录,那他一开始就会显示NG,也就是说,我可以去添加一个新的条码识别的工具,它本来是可以OK的,那我导入了之前存档的记录测试就会显示NG。

完整教学视频:不起眼的条码识别也能玩出这么多花样!条码检测算法实际应用场景:检测条码、二位码。主要用于读取识别条形码、QR 码(二维码)https://mp.weixin.qq.com/s?__biz=MzA5NjczNTg2MA==&mid=2247487561&idx=1&sn=6ec7b43ee5b865c3dec2466718cafc8e&chksm=90aad752a7dd5e449f14d5eee535e8994aec09281780d6c1c182301fec2fefcbfa7d27bd0528&token=1520589933&lang=zh_CN&st=EA4FC02F972A192A16287FDB587CDF33C9645B8BB4287D79996FBF9A21B9F412E3E2E5B27E3D1E8A9DF988312046F8BA1AE5B383D702F81C5D939B44A1805691A30984EB37FDD7566BE7934511DD316DB69C950AEF19592147BBFED7648199AC26EC836805A5CDB879BEB7C035AF5F6A360F0B3BDB05F12A1AC2796257F2ED9E17FC366F64990B269A6DC8124BB666A4FF4858B7380E851F45ED9B768CA6B0AB042FEDEDC1F201BF583B57009A8D027A958666DCCC4579263B7124DA1E4E65EE178E75DCA7508CC57E058BFA33BB5D0F29DAA544E7B86E6C92D16E3256B56C7D&vid=1688856493295065&cst=D5C39F0C7F40C379925FDB52CEF706E51D48DA4175E01FEEA8E8E042463A18159F4ADBFE8DFB2B2BBD2B29CCCED62FB7&deviceid=da4bb451-c3e9-4993-befd-c56a7d8aba30&version=4.0.0.6007&platform=win#rd

【马克拉伯】即可前往官网

【条码检测算法】不起眼的条码识别也能玩出这么多花样相关推荐

  1. PyOD是一种基于Python的异常检测工具箱。它提供了一系列流行的异常检测算法,可以用于识别各种异常情况,例如离群值、孤立点和噪声数据。在本文中,将介绍PyO...

    PyOD是一种基于Python的异常检测工具箱.它提供了一系列流行的异常检测算法,可以用于识别各种异常情况,例如离群值.孤立点和噪声数据.在本文中,将介绍PyOD的简介.安装和使用方法. 一.简介 P ...

  2. 目标检测算法汇集介绍

    目标检测算法 目标检测概念 目标检测这里阐述两个应用场景,1 为物体位置检测,2 为物体关键点检测. 1 物体位置检测 相比与图片分类,目标检测算法结果要求不仅识别出图片中的物理类别并且输出物体的位置 ...

  3. 人脸检测算法是什么,有哪些难点

    人脸检测在百度百科里被定义为人脸检测是指对任意一幅给定的人脸图像,采用一定的策略对其进行搜索以确定其中是否含有人脸,如果是则返回确认人脸的位置.大小和姿态.那,对于人脸检测算法是什么?会有哪些难点?由 ...

  4. 论文阅读:超高分辨率图像中快速、准确的条码检测

    摘要 由于目标对象的尺度不同,超高分辨率 (UHR) 图像中的对象检测长期以来一直是计算机视觉中的一个具有挑战性的问题.在条码检测方面,将 UHR 输入图像调整为更小的尺寸通常会导致相关信息的丢失,而 ...

  5. 计算机视觉子方向,计算机视觉方向简介 | 人脸识别中的活体检测算法综述

    原标题:计算机视觉方向简介 | 人脸识别中的活体检测算法综述 本文转载自"SIGAI人工智能学习与实践平台"(ID:SIGAICN) 导言 1. 什么是活体检测? 判断捕捉到的人脸 ...

  6. 水面漂浮物垃圾识别检测算法 yolov7

    水面漂浮物垃圾识别检测算法通过yolov7网络模型AI视觉分析技术,水面漂浮物垃圾识别检测算法对河道湖面漂浮物.生活垃圾.水藻等多种漂浮物进行自动智能分析,及时的预警提醒.OLOv7 的发展方向与当前 ...

  7. 人脸识别中的活体检测算法综述

    其它机器学习.深度学习算法的全面系统讲解可以阅读<机器学习-原理.算法与应用>,清华大学出版社,雷明著,由SIGAI公众号作者倾力打造. 书的购买链接 书的勘误,优化,源代码资源 1. 什 ...

  8. 灭火器摆放识别检测算法 yolo

    灭火器摆放识别检测算法通过python+yolo网络深度学习技术,自动对指定区域灭火器是否缺失进行识别,如果 没有检测到指定区域有灭火器,立即抓拍存档进行告警.YOLO系列算法是一类典型的one-st ...

  9. 基于matlab活体检测,人脸识别中活体检测算法综述.PDF

    人脸识别中的活体检测算法综述 SIGAI 2018.9.19 原创声明:本文为 SIGAI 原创文章,仅供个人学习使用,未经允许,不能用于商业目的. 1. 什么是活体检测? --> 判断捕捉到的 ...

最新文章

  1. 算法(1)斐波那契数列
  2. 计算机组成原理 — CPU — 缓存访问
  3. VTK:可视化之Cursor2D
  4. 服务器复制不了文档,服务器复制粘贴不了
  5. java二嗨租车项目_Java入门第二季6-1租车项目代码
  6. Wp keyword link 标签自动内链/文章关键词内链 WordPress插件
  7. ECCV2018_Generalizing A Person Retrieval Model Hetero- and Homogeneously
  8. 卡片选项页面 JTabbedPane 的使用
  9. makefile中=、:=和+=的区别
  10. 美国政府继续紧盯中兴,并可能剑指华为
  11. Yacc 和 Bison
  12. 《jike--微服务架构核心20讲》笔记
  13. 此计算机怎样连接未识别的网络连接,电脑插入网线后显示“未识别网络”怎么办?...
  14. manchi翻译中文 mi_求这一段意大利文歌词中文翻译(MiManchi)?
  15. ITSM基础框架开发维护指南
  16. 边下边看的BT资源搜索工具:Tribler for Mac中文免费版
  17. 空格变成问号的怪问题
  18. 自己想要什么 过什么样的生活
  19. 如何画出漂亮的神经网络图?
  20. 加强杂交和环境选择的高维目标进化算法

热门文章

  1. qemu-kvm创建虚拟U盘
  2. 一文带你了解 sensor
  3. RecyclerView之利用ItemDecoration实现万能分割线
  4. 【java注解--使用注解封装自动拼接sql 】
  5. 2021年茶艺师(初级)考试总结及茶艺师(初级)模拟试题
  6. [转] 宝宝出生第一年妈妈最应关心的问题
  7. 祝cattom考研成功
  8. ros之MarkerArray使用
  9. 【Flutter】Dart 数据类型 数字类型 ( Dart 文件创建 | num 类型 | int 类型 | double 类型 | num 相关 API )
  10. 支付宝小程序H5域名配置