机器视觉(十一):条码识别

news2024/11/18 3:46:34

目录:

机器视觉(一):概述

机器视觉(二):机器视觉硬件技术

机器视觉(三):摄像机标定技术

机器视觉(四):空域图像增强

机器视觉(五):机器视觉与世界杯

机器视觉(六):频域图像增强

机器视觉(七):图像分割

机器视觉(八):图像特征提取

机器视觉(九):图像配准

机器视觉(十):印刷体字符识别

机器视觉(十一):条码识别

🌏🧐以下为正文🦄🪐

        条形码技术是一种自动识别技术,集条码理论、光电技术、计算机技术、通信技术、条码印制技术于一体的综合性技术。条形码技术不但快速准确,而且可提供可靠性很高的数据,其误码率小于百万分之一,首读率可达98%,广泛应用于各种计算机管理领域,如图书管理、生产流程管理、商品流通管理等。

一、概述

1.条形码的分类

  • 一维条码:国际物品条码(EAN条码)等
  • 二维条码:PDF417条码等

 2.条码技术的优点

  • • 输入速度快
  • • 可靠性高
  • • 采集信息量大
  • • 灵活实用
  • • 可携带性与可复印性
  • • 寿命长
  • • 不可更改性
  • 二、EAN-13码

    • 1.EAN-13码的校验方法

    •         首先,以未知校验位为第一位,由右至左将各位数据顺序排队(包括校验码);第二步,由第2位开始,求出所有偶数位数据之和,然后将和乘以3,得N1:
    •  第三步,由第3位开始,求出所有奇数位数据之和,得N2:

    • 第四步, 将N1与N2相加,得N3;

    • 第五步,用N3除以10,求得余数,并以10为模,取余的补码,即得校验位数据值C。

    • 2.EAN-13码的定位方法

    • 第一步,对图像中每个8×8的小块进行DCT变换;

      第二步,记录DCT变换后的系数;

      第三步,对DCT系数进行哈夫曼编码产生jpeg数据流。

      • ​​​​​​​        DCT变换把8×8的图像块转换为64个DCT系数。第一个DCT系数是直流分量,表示了图像块的均值。剩下的系数是交流分量,表示了图像在频域中的变化。一维条码的特点是在某个特定的方向上黑条和白条的交替变化。如条码在水平方向上排列,黑白条在x方向上交替排列。 DCT系数的交流分量在x的方向上有较大的幅值,而在y的方向上幅值接近为0。DCT系数不仅可以区分条码区域和非条码区域,同时还包含了条码的方向。  

      • 提取的条码示例

        3.EAN-13码的解码

        •         EAN-13是一种(7, 2)码,即每个字符的总宽度为7个模块宽,交替由两个条和两个空组成,图中C1~C4表示每个字符中四个相邻条、空的宽度,T是一个字符的宽度 ,设条码条、空分别占单位模块的个数为m_i。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

记一次虚拟机编译c程序错误

file included from /usr/include/stdio.h:74:0, from opendir.c:2: /usr/include/libio.h:302:3: error: unknown type name ‘size_t’ size_t __pad5; ^ /usr/include/libio.h:305:67: error: ‘size_t’ undeclared here (not in a function) ch…

黑马程序员 Maven 教程

Maven 简介 传统项目管理的缺点: (1) jar 包不统一,jar 包不兼容; (2) 工程升级维护过程操作繁琐; Maven 是什么 Maven 的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型 (POM) POM (Project Object Model) : 项目对…

二分搜索算法

目录1.概述2.代码实现2.1.最基本的二分搜索2.2.搜索最左侧边界2.3.搜索最右侧边界3.应用本文参考: LABULADONG 的算法网站 《大话数据结构》 1.概述 (1)二分搜索 (Binary Search),又称为折半搜索 (Half-interval Search)。它的前…

云收藏系统|基于Springboot实现云收藏系统

作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、毕业设计、简历模板、学习资料、面试题库、技术互助 收藏点赞不迷路 关注作者有好处 文末获取源…

Java实现队列

目录 一、队列概述 二、队列的模拟实现 1、入队 2、出队 3、取队头元素 4、获取队列长度 三、循环队列 1、入队 2、出队 3、取队头元素 4、取队尾元素 四、面试题 1、用队列实现栈 2、用栈实现队列 一、队列概述 队列也是常见的数据结构,是一…

Mybatis源码解析二:DataSource数据源负责创建连接以及Transaction的事物管理

简介 对于一个成熟的ORM框架来说,数据源的管理以及事务的管理一定是不可或缺的组成,对于Mybatis来说,为了使用方便以及扩展简单也是做了一系列的封装,这一篇主要介绍mybatis是如何管理数据源以及事务的。 数据源DataSource Dat…

【深度学习】李宏毅2021/2022春深度学习课程笔记 - Adversarial Attack(恶意攻击)

文章目录一、基本概念1.1 动机1.2 恶意攻击的例子1.3 如何攻击?二、White Box vs Black Box三、One Pixel Attack四、Universal Adversarial Attack五、Beyond Image六、Attack in the Physical World七、Adversarial Reprogramming八、Backdoor in Model九、防御9.…

TLS回调函数实现反调试

title: TLS回调函数实现反调试.md date: 2022-06-16 23:40:49.231 updated: 2022-06-16 23:41:11.924 url: /archives/tls回调函数实现反调试 categories: tags: 逆向 TLS回调函数实现反调试 TLS-线程局部存储 先于我们OEP执行 #include<stdlib.h> #include<time.…

使用红黑树封装map、set

map、set如何用红黑树封装 map、set应用&#xff1a;map是一个使用参数K、参数V的类模板&#xff0c;set是只使用参数K的类模板。因为map应用时&#xff0c;需要使用到KV&#xff0c;而set只是存单个值&#xff0c;K。红黑树类的存储 &#xff1a;map和set类中使用红黑树数据成…

Logback配置详解

简介&#xff1a; logback是java的日志开源组件&#xff0c;是log4j创始人写的&#xff0c;性能比log4j要好&#xff0c;目前主要分为3个模块&#xff1a; logback-core:核心代码模块logback-classic:log4j的一个改良版本&#xff0c;同时实现了slf4j的接口&#xff0c;这样你…

树莓派mjpg-streamer实现监控功能

树莓派实现监控功能&#xff0c;调用mjpg-streamer库来实现。mjpg-streamer是一个开源的摄像头媒体流&#xff0c;通过本地获取摄像头的数据&#xff0c;通过http通讯发送&#xff0c;可以通过浏览器访问树莓派的IP地址和端口号就能看到视频流。 实现步骤 1.git clone https:…

关于内核的概念理解

狭义的操作系统可以认为就是内核&#xff0c;比如Linux内核。广义的操作系统则包括内核和一系列应用软件&#xff0c;比如Linux内核编辑器vim编译器gcc命令行解释器&#xff08;shell&#xff09;等&#xff0c;通常称为GNU/Linux。 源代码https://github.com/torvalds/Linux …

Jenkins自动化部署SpringBoot项目(windows环境)

文章目录1、Jenkins介绍1.1、概念1.2、优势1.3、Jenkins目的2、环境准备3、Jenkins下载3.1、下载3.2、运行3.3、问题解决4、Jenkins配置4.1、用户配置4.2、系统配置4.3、全局工具配置-最重要5、新建项目7、测试8、错误解决1、Jenkins介绍 1.1、概念 Jenkins是一个开源软件项目…

自动化测试Seleniums~1

一.什么是自动化测试 1.自动化测试介绍 自动化测试指软件测试的自动化&#xff0c;在预设状态下运行应用程序或者系统&#xff0c;预设条件包括正常和异常&#xff0c;最后评估运行结果。将人为驱动的测试行为转化为机器执行的过程。 将测试人员双手解放&#xff0c;将部分测…

黑马javaWeb Brand综合案例

01-综合案例-环境搭建 02-查询所有-后台&前台

leetcode83周赛

前言&#xff1a; 周赛两题选手,有点意思 830.较大分组的位置 思路&#xff1a;wa了三发&#xff0c;对边界了解的不够清楚 可以有一个小小的优化,时间复杂度O(n) // arr.add(start); //arr.add(i-1); //res.add(arr); res.add(Arrays.asList(start,i - 1));class Solution {pu…

MATLAB-mesh/ezmesh函数三维图形绘制

l ) mesh 函数生成由X、Y和Z指定的网线面&#xff0c;由C指定颜色的三维网格图。具体调用方法如下。mesh(Z):分别以矩阵Z的行、列下标作为x轴和y轴的自变量绘图。mesh(X , Y,Z):最常用的一般调用格式。mesh(X,Y ,Z,C):完整的调用格式&#xff0c;C用于指定图形的颜色&#xff0…

Ubuntu 20.4 美化桌面、美化引导界面、Mac 既视感

文章目录相关资源安装 gnome-tweaks安装浏览器插件方法一方法二&#xff08;推荐&#xff09;主题美化进行美化配置效果图美化前美化后美化 Dock扩展推荐引导美化安装主题修改配置相关资源 https://pan.baidu.com/s/1D7ZfzVKMmeZPAzuDDAVUbg提取码&#xff1a;ws3f 安装 gnom…

Java基础学习笔记(十)—— 包装类与泛型

包装类与泛型1 包装类1.1 基本类型包装类1.2 Integer类1.3 自动装箱 / 拆箱2 泛型2.1 泛型概述2.2 泛型的用法2.3 类型通配符1 包装类 1.1 基本类型包装类 基本类型包装类的作用 将基本数据类型封装成对象 的好处在于可以在对象中定义更多的功能方法操作该数据 public stat…

C库函数:stdlib.h

stdlib.h C 标准库 – <stdlib.h> | 菜鸟教程 (runoob.com) 该库主要涉及“字符串和其他类型数据的转换”、“内存空间的申请和释放”、“查找和排序”、随机数等功能函数。 7void *calloc(size_t nitems, size_t size) 分配所需的内存空间&#xff0c;并返回一个指向它…