背景

  师兄要用这个参加集赛,但是说自己C语言不太行,花了一个多小时帮他分析了一下(虽然自己也不太行)。

  对应模块的GitHub地址:https://github.com/dlbeer/quirc。

  记录一下,一旦以后用到呢。

内容

  下载下来的文件主要有demo、tests、lib,由于自己对二维码识别过程不是十分了解,本文主要对demo的一部分进行了分析。

  首先是main()函数。这里使用了一系列命令行参数,主要是跑了run_demo()这个函数。

  

  run_demo()这一函数。方框部分主要是错误处理,包含对摄像头初始化和内存分配等出现的问题输出。圆框部分mjpeg()应该是对MJPEG译码器进行初始化,经过循环后释放掉了。所以主要操作还是main_loop()对数据进行了处理

  main_loop()前一部分应该主要是转成reg32,然后获取灰度,用于识别二维码信息。方框中主要是将格式转换成rgb32,圆框中应该是获取灰度信息。注意到该部分用到了quirc_begin()和quirc_end(),根据官方说法,这两个函数将灰度图像直接输入了quirc用于图像处理的缓冲区。quirc_begin()返回了一个之前已经分配的buffer的指针,可以通过quirc_count和quirc_extract来找到对应二维码。

  quirc_decode()实现译码,在main_loop()中的draw_qr()中。官方示例中quirc_decode()以引用方式传递参数,函数内对data进行的修改直接影响到对应data,译码成功则打印出来。

  具体译码实现还未细看,就酱~

Quirc二维码识别模块相关推荐

  1. 二维码识别模块在物流仓储、通道闸机的嵌入式应用

    随着物联网自动识别技术的广泛应用,采用二维码识别模块的设备,在零售.交通.物流.工业等各个行业上都有它的身影.那么他们都在哪些场景应用到?给我们的工作生活带来哪些便利呢?下面远景达(RAKINDA)通 ...

  2. 前端学习--实现二维码识别功能

    概述: 最近所做的毕设项目正好与之前很火的共享单车相关,共享单车应用中很关键的一个部分就是扫码用车,但我之前没有做过相关的模块,在参考网上相关实现的教程时发现,基本上所有的二维码识别模块都是通过客户端 ...

  3. 海康visionMaster4.1二维码识别/检测之脚本文件的调试

    关键词:脚本文件调试:海康visionMaster4.1:二维码识别 介绍脚本文件调试之前,先说一个"二维码识别"模块的有趣的点. Tips:"二维码识别"模块 ...

  4. python实现二维码识别软件_OpenCV和Zbar两个Python模块实现二维码和条形码识别

    在我们的日常生活中,处处可见条形码和二维码. 在以前,我们去逛书店时,或者你现在随手拿起你身边的一本书,你肯定能看到书本的封页后面印有一排黑色线条组成的标签,也就是条形码:你去你们学校的自助机上借书还 ...

  5. Atitit java 二维码识别 图片识别

    Atitit java 二维码识别 图片识别 1.1. 解码1 1.2. 首先,我们先说一下二维码一共有40个尺寸.官方叫版本Version.1 1.3. 二维码的样例:2 1.4. 定位图案2 1. ...

  6. iOS 花式二维码生成和二维码识别

    iOS 原生的二维码识别非常之棒,反正比 ZXing 和 ZBar 效果都好些,所以以后打算尽量用原生的二维码识别,然后最近把原生的二维码生成也顺便做了一遍,并且在原有基础上加了一些样式参数,封了一个 ...

  7. Python基于pyzbar、opencv、pyqt5库,实现二维码识别 gui 应用程序开发

    二维码组成结构基本介绍 二维码识别背景介绍 视觉的方法可以用来估计位置和姿态.最容易想到的是在目标上布置多个容易识别的特征,这样使用opencv相机标定和.相机畸变矫正.轮廓提取.solvepnp来获 ...

  8. 基于多二维码识别的无人机运动真值获取

    基于多二维码识别的三维运动真值获取 1.背景介绍 2.原理 2.1 二维码基础 2.2图像预处理 2.3 定位标轮廓提取 2.4 多二维码鲁棒识别 3 运行结果 3.1对单张图片进行多二维码识别 3. ...

  9. 第47章 QR-Decoder-OV5640二维码识别—零死角玩转STM32-F429系列

    第47章     QR-Decoder-OV5640二维码识别 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.y ...

最新文章

  1. 图像特征检测描述(一):SIFT、SURF、ORB、HOG、LBP特征的原理概述及OpenCV代码实现
  2. Python超强全方位学习路线分享(附视频+书籍+面试链接)
  3. 理想的 ASP.NET AJAX (Part 1 - Client Centric)
  4. Postman自动化接口测试实战详解
  5. Fade To Black《消失在黑暗中》BY Metallica [转]
  6. STM32+W5500
  7. photoshopCS6软件的安装和破解方法
  8. usb万能驱动win7_突破封锁,倒行逆施强行安装Win7系统,繁琐变简洁
  9. suse11sp3上面配置zypper源
  10. 运维自动化之ANSIBLE
  11. C/C++编程学习 - 第19周 ⑩ 派
  12. 【财富空间】陈春花:好公司就是要满足人们对美好生活的向往;技术如何驱动商业腾飞?...
  13. 关于ios审核被拒3.2.1问题已成功过审经验总结
  14. 拼多多开启“国际直通车”计划,要帮用户提升生活品质
  15. 电梯卡数据分析修改延期梯控分析方法
  16. 【Revit二次开发】链接模型坐标系/族坐标系与模型坐标系转换
  17. android png和jpg的区别及使用场景
  18. 【每日新闻】未来五年AI助力下对最终用户产生最大影响的四个行业
  19. docker幕布笔记
  20. 安卓通知栏管理详解及分析 NotificationListenerService

热门文章

  1. 从仿真到实飞,Prometheus自主无人机开发全覆盖!快来参加阿木实验室线下集训吧!
  2. Linux中ls和ll的区别
  3. 2016百度之星 - 资格赛(Astar Round1)Problem A
  4. 红外人脸识别和3D结构光人脸识别有什么区别
  5. 一般安卓手机测试代码和微信代码
  6. layui引入layui的第三方插件(xm-select)
  7. 近世代数--商群--群和商群是一一对应的
  8. 视频编码帧间学习笔记(个人向初学小结)
  9. 关于硬盘模式为achi和ide的差别
  10. 4月9日第壹简报,星期日,农历闰二月十九