数字图象处理之二维码图像提取算法(五)

2023-11-06

        在预处理之后,接下来就要进行码字提取。在码字提取部分,我们采用的就是霍夫(Hough transform)变换。通过霍夫变换我们可以知道整个二维码倾斜的角度,然后我们就可以进行二维码的矫正。

       霍夫变换具体如下:采用分级的Hough变换方法,不但降低了Hough变换的运算量,而且精确的求得了条码的倾斜角度。其次,扫描 PDF417条码的起始和终止符确定条码的左右边界线方程,结合Hough 变换求得的上下边界方程,确定条码四个顶点的位置坐标, 能后采用反透视变换完成条码图像几何畸变的校正。 最后,对投影法分层法进行了改进,并采用其完成PDF417条码的码字提取,整个过程如下图所示:

 

        要进行图像提取,我们需要先进倾斜矫正。要进行倾斜矫正,那么我们必须先知道倾斜角度。一般来说,要知道倾斜角度,就可以使用投影特性法、 Hough变换法和傅立叶变换法等。投影特性法就是以一定的步长角度值不断的对图像进行投影试探,当获得最佳的投影结果时,即认为这个角度为图像的倾斜角度。投影特性法为了提高求取倾斜角度的精度,就需要减小单位步长角度值,计算次数就会成倍的增加。傅立叶变换法是Postl等人提出来的,证明了傅立叶空间密度最高的方向就是图像的倾斜角度, 但此方法的时间和空间复杂度都比较高,不适用于对实时性要求较高的嵌入式设备。Hough变换求图像中的直线时具有良好的鲁棒性, 它利用图像的全局特性,对直线上的点进行累加,所以受噪声和边界间断的影响较小但 Hough 变换也存在计算量非常大的问题精度越高,参数空间的量化就要求越精细,计算量也就越大,不能满足解码实时性的要求,导致 Hough 变换的使用场合受到了极大的限制。本文在Hough变换的基础上,采用一种分级的Hough变换方法,既能够精确的求得PDF417条码的倾斜角度,又能够大幅的降低Hough变换的运算量,使之满足解码实时性的要求,能够应用到嵌入式设备中。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数字图象处理之二维码图像提取算法(五) 的相关文章

  • MyBatis与JDBC连接数据库所使用的url之间的差异

    1 在JDBC连接里是这样的 连接无误 2 在Mybatis里配置要这样 3 主要区别 说明 JDBC 方式连接 MySQL 不需要对 进行转义 而在Mybatis里要求一定要对 转义 4 如果是在properties文件里 不用转义的 在
  • IP静态路由实验报告

    一 将192 168 1 0 24划分为4个网段 192 168 1 0 26 192 168 1 64 26 192 168 1 128 26 192 168 1 192 26 1 取192 168 1 0 26继续划分 为主干道添加IP
  • Spring 加载、解析applicationContext.xml 流程

    概要 Spring 框架使用了BeanFactory 进行加载 xml 和生成 bean 实例 下面我们分析下Spring加载xml文件的过程 spring 版本是最新的 4 3 9 release 版本 示例 XmlBeanFactory
  • java 转换tif图片为jpg,解决转换后颜色异常问题

    java 转换tif图片为jpg 解决转换后颜色异常问题 说明 正常情况下 tif转换jpg图片会出现颜色失真 丢失部分颜色 原因是两种图片的色彩模式不同 jpg默认使用的是RGB色彩模式 TIF默认使用的是CMYK色彩模式 RGB的色域比
  • 有关“ModuleNotFoundError: No module named ‘flask._compat’”错误的解决过程

    在进行flask安装后 运行程序的过程中出现了 ModuleNotFoundError No module named flask compat 的错误 在查询了多个网站后给出了不同的答案 其报错原因是flask版本过高导致无法识别该语法
  • 仿京东 项目笔记2(注册登录)

    这里写目录标题 1 注册页面 1 1 注册 登录页面 接口请求 1 2 Vue开发中Element UI的样式穿透 1 2 1 v deep的使用 1 2 2 elementUI Dialog内容区域显示滚动条 1 3 注册页面 步骤条和表
  • 服务器i5 和e系列,e5和i5有什么区别

    两个系列的处理器主要在设计规格和面向范围方面存在区别 设计规格上 前者核心数更多 多线程能力更强 但睿频能力相对较弱 后者核心数较少 多线程能力不如前者 但睿频能力更强 面向范围上 前者主要面向服务器 嵌入式等企业设备 后者主要面向消费级硬
  • (LeetCode)全排列

    目录 题目要求 题目理解以及思路分析 代码分部讲解 第一部分 第二部分 题目要求 给定一个不含重复数字的数组 nums 返回其 所有可能的全排列 你可以 按任意顺序 返回答案 示例 1 输入 nums 1 2 3 输出 1 2 3 1 3

随机推荐

  • 规则引擎Drools使用 第十一篇 Drools 的高级语法之LHS增强

    前面我们已经知道了在规则体中的LHS部分是介于when和then之间的部分 主要用于模式匹配 只有匹配结果为true时 才会触发RHS部分的执行 下面我们会针对LHS部分学习几个新的用法 目录 复合值限制in not in 条件元素eval
  • 升压电路(BOOST)与降压电路(BUCK)

    一 电路中产生电流的条件是 1 电路里必须有电源供电 2 电路必须形成闭合回路 降压元器件 升降压电路构成的核心元器件 1 电感 储存能量 电感是无法突变的 工作状态是线性的 2 二极管 3 mos管 首先先分清楚mos是N mos还是P
  • Qt全局宏和变量

    1 Qt 全局宏定义 Qt版本号 QT VERSION major lt lt 16 minor lt lt 8 patch 检测版本号 QT VERSION CHECK major minor patch major lt lt 16 m
  • virtio代码分析(一)-qemu部分

    virtio内容众多 代码分布于qemu linux dpdk等中 而且分为frontend和backend 可以运行于userspace也可以运行于kernelspace 极其难以理解 不看代码只看原理性文档往往流于表面 只有真正看懂了代
  • 大数据准备——安装JDK

    1 解压Linux版本的JDK压缩包 命令行敲入 mkdir home software cd home software rz 上传jdk tar包 这里添加自己tar包的名字 如果rz命令不能使用 先执行yum install lrzs
  • C语言关键字解析

    在C语言中有32个关键字 如下表所示 释 1 声明 1 告诉编译器 这个名字已经匹配到一块内存上 2 告诉编译器 这个名字已经预定了 其他地方再也不能用它来作为变量名或对象名 2 定义 编译器创建一个对象 为这个对象分配一块内存空间 并给它
  • 前端 配色网站 自用 免费 颜色很全

    1 中国色彩 http zhongguose com 3 ColorHex https www colorhexa com 4 优色网配色专区 https color uisdc com 4 ColorDrop https www colo
  • cuda学习

    GPU中有多个流处理器SM 当一个线程块被指定给一个SM后 里面的线程会被划分成线程束 32个线程 在SM上交替运行 也就是说SM上一个时刻只有一个线程束在运行 函数修饰符 global 表示该函数只能在GPU上运行 但是可以从CPU或者G
  • qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method

    最近在做一个网络音乐播放器时 由于出现qt network ssl QSslSocket cannot call unresolved function SSLv23 client method 而不能播放网络歌曲 上网搜了半天 都说要在电
  • Jmeter(二十七) - 从入门到精通 - Jmeter Http协议录制脚本(详解教程)

    1 简介 LoadRunner的录制功能让性能测试脚本编写对于不懂代码的人变成了一件容易上手的事 但是由于LoadRunner收费高昂 庞大 一般企业很少用 除非必须使用 Jmeter作为性能测试中的王者也少不了提供录制功能 Jmeter的
  • 靠!我被项目经理和同事嘲笑了,因为不会远程debug调试...

    大家好 我是曹尼玛 刚从培训机构毕业 去一家单位上班一周了 这一周项目经理让我熟悉了项目业务 架构和设计 不算难 凭借我培训机构第一名的成绩 还是很顺溜 今天项目经理把同事们叫到一起 说线上438x6项目出现奇葩问题 但是开发环境初步测试没
  • SSM框架练习—主从表的业务模型

    需要实现的整体功能 系统的登录并进行用户名的校验 团购信息的列表展示 团购信息的添加 团购信息的检索 1 数据库创建 CREATE DATABASE mydb USE mydb drop table if exists vaccunit C
  • MySQL数据库关于表的一系列操作

    MySQL中的数据类型 varchar 动态字符串类型 最长255位 可以根据实际长度来动态分配空间 例如 varchar 100 char 定长字符串 最长255位 存储空间是固定的 例如 char 10 int 整数型 最长11位 lo
  • 【数据结构 c语言版 】线性表的链式表示和实现

    目录 一 单链表的表示和实现 1 单链表的存储结构 1 1 头指针 头结点与首元结点 1 2 带头结点单链表和不带头结点单链表的比较 2 单链表的初始化 3 单链表的长度 4 单链表的插入 5 单链表的删除 6 单链表的查看 7 单链表的撤
  • auto-gpt部署:openai key, google api key,google engine id

    获取OpenAI API Key 1 打开platform openai com 输入你的OpenAI帐号和密码 2 点击左上角personal gt view api keys gt api keys gt create new scre
  • 不花钱,让"情圣"ChatGPT教你怎么追马斯克

    大家好 我是播妞 你知道吗 如今爆火的ChatGPT 曾经和马斯克还有一段七年的 纠葛 最近 OpenAI发布了史上最强聊天机器人ChatGPT 这个诞生于GPT 3基础上的AI很快走红网络 要说这家伙 天南海北无所不知 可能是夸张了点 但
  • Window XP驱动开发(二) 环境搭建(VS2008+WDK+DDKWzard)及示例源码分析

    郁闷 做了WCE嵌入式驱动这么久还没热身够 又被调到做window xp下的驱动开发 没办法 只能受令了 现在就开始自己的学习之旅吧 转载请标明是引用于 http blog csdn net chenyujing1234 欢迎大家提出意见
  • 正则匹配html标签和内容,正则匹配HTML标签(不保留内容和保留内容、过滤标签的的属性)...

    1 匹配双标签 包括内容 过滤标签 不保留内容 var reg1 gt n gi var str1 我是被删除的123123 console log str1 replace reg1 2 匹配标签 不包括内容 过滤标签 保留内容 var
  • Python爬虫之正则表达式

    正则表达式 正则表达式就是规则表达式 在接触爬虫前 正则表达式就是用来过滤的 接触爬虫后发现真的就是过滤用的hhh 正则表达式在爬虫中的作用就是过滤出想要的字符 然后获取 如果不用正则表达式 那么就会将网页中大量信息全部爬出 造成大量内存浪
  • 数字图象处理之二维码图像提取算法(五)

    在预处理之后 接下来就要进行码字提取 在码字提取部分 我们采用的就是霍夫 Hough transform 变换 通过霍夫变换我们可以知道整个二维码倾斜的角度 然后我们就可以进行二维码的矫正 霍夫变换具体如下 采用分级的Hough变换方法 不