偶然发现,二维码贴在圆柱面或其他曲面时,扫描不上,扫描不出来的原因跟曲面二维码扭曲,导致定位点距离偏差有关。

解决思路:

方法一:

扫描的时候,二维码截图以纵向中心线为基准向两侧,越远越密集(大概是这个意思),所以要反向处理一下截图。某点到左边距离为a,乘以调整系数t,得到正确的距离x。x=t*a,其中。θ为1~90,可以得到t的90个数值数组,比如θ=30时,t=2.487。

操作时,可以将左半边二维码,分成90份,每份n个像素,假如某一份距离左边界为a1,先水平拉伸一下这n个像素,到3n个像素(大概这么多),让他多余出一些,免得出现空白,然后平移到距离左边界x1的位置。

以此类推,后一份要覆盖前一份多余部分。过了纵向中心线后,t值数组反向排序,再处理右半边二维码。这样每一行像素都这样处理一遍,图片就差不多恢复到平面状态了。不过有个缺点,如果二维码截图有些歪,不是水平垂直的话,只靠这么简单的处理就不行了。

方法二:

从印刷时下手,还是按上面的思路,反着来一遍,把要打印在柱面的二维码原图先处理一下。效果是,中间对称轴附近密集,两边稀疏,这样打印出来贴的时候,别粘歪了就行。扫描的时候,正前方对着二维码扫描。

以上想法没有亲自实现,只是思路,不能保证有效。

圆柱曲面二维码扫描识别思路相关推荐

  1. uni-app 二维码扫描识别功能

    由此可以看出,uni-app自带api在h5平台时是不能调用uni.scanCode的,那么非h5平台实现二维码扫描识别方法: uni.scanCode({                       ...

  2. GM65条形码二维码扫描识别模块与STM32学习

    目录 模块介绍: 简介: 原理介绍: 工作流程: 技术参数: 修改配置: 代码介绍: 串口函数: 主函数: 模块介绍: 简介: GM65 条形码二维码扫描识别模块是一种基于激光扫描头的识别设备 原理介 ...

  3. iOS二维码扫描/识别

    一直以为二维码功能比较简单,  从来没有放在心上过,  由于公司项目需要这个功能,  也算是第一次真正去做二维码的东西.  从网上看别人的博客很多都是写的比较碎片, 没有一个能做的比较完整的,  今天 ...

  4. android studio 简单二维码扫描识别代码

    使用android studio 生成 扫描二维码app,简单粗暴好用 自己白天找了一上午代码也没找到 ,然后用了个github包 写了个简单的 下面上图 首先使用android studio创建一个 ...

  5. iOS QRcode识别及相册图片二维码读取识别

    对二维码的处理及系统原生API扫描. Zbar扫描和Zing扫描 比较 iOS原生API 系统扫描的效率是最高,反正包括各种你见过的没见过的码,但是有一点我不是很清楚 iOS7 扫描二维码可以,但从相 ...

  6. 二维码扫描优化及爱奇艺App的实践

    写在前面 二维码是一个近几年来移动设备上超流行的一种编码方式(又称二维条码,QR Code,QR全称QuickResponse),它比传统的条形码(Bar Code)能存更多的信息,也能表示更多的数据 ...

  7. 发票二维码扫描增强_01_问题分析

    问题概述 目前开发的App中涉及到以下场景:基于纸质发票的二维码扫描结果,调用国税总局的查询接口,获取发票的票面信息并自动构建对应的报销单 发票二维码中包含以下信息: 01,04,3200172320 ...

  8. Android实现二维码扫描功能(四)-ZXing识别图片二维码,相册选图

    简介 上一篇 Android实现二维码扫描功能(三)-闪光灯控制介绍了光线较弱情况下开启闪光灯来辅助二维码识别的方法. 本篇我们介绍如何识别相册中的图片(含二维码) 动态演示 使用模拟器录制了动画演示 ...

  9. 二维码扫描自定义规则思路

    二维码扫描自定义规则思路 二维码内容 二维码内容是一串字符串,主要凭借拆分字符串实现宿主属性的读取.可用于商品产品原材料入库.出库等操作. 使用在线的二维码生成之后,就是这样,其中可以使用特殊符号进行 ...

最新文章

  1. java domain层_java框架中的controller层、dao层、domain层、service层、view层
  2. python递归函数错误使用方式
  3. 【Python基础】刷爆网络的动态条形图,3行Python代码就能搞定
  4. android settext 参数,Android TextView.setTextColor()的参数设置方式
  5. MyBatis系列-Mybatis入门精讲
  6. 【Windows 8 Store App】学习二:ResourceLoader
  7. 串口485接法图_rs485 与485通讯 接线方法?
  8. ERP系统-销售子系统-销售发货通知单
  9. JDBC 实现数据库增删改查
  10. 苹果id怎么注册?老果粉教你创建新的Apple ID
  11. 干货!史上最全数据分析学习路线(附资源链接)
  12. 我有一壶酒,足以慰风尘
  13. python 中私有属性的设置方法案例:设置私有属性、利用函数get和set方法调用修改私有属性,并 用__str__的魔术方法打印,的具体案例
  14. NepCTF2021 梦里花开牡丹亭
  15. 宽窄依赖以及shuffle的部分源码理解
  16. 大数据服务平台---接口自动化
  17. 数字逻辑 易错点 地线 GROUND 与 GND/DGND
  18. 网络时间协议服务器检测,NTP(网络时间协议)【NTP时间同步服务器】
  19. 为什么有人说富坚义博有着殿堂级的画功?他的画功体现在哪儿呢?
  20. PyQy5学习(二):QMainWindow+QWidget+QLabel

热门文章

  1. VMware被博通收购后:大中华区总裁上任仅9个月突然离职
  2. 店盈通:新消费行业国潮
  3. Flink / Scala 实战 - 13.TimeWindow 处理迟到数据详解
  4. 普渡机器人“欢乐送”入驻武藏日本料理,助其降本增效
  5. 在HTML中使用css3实现雪人动画效果
  6. android手机系统怎么刷机包,安卓系统的手机如何刷机
  7. MFC工具箱各种控件的具体意义
  8. Win10 怎么给php文件设置默认打开应用
  9. 计算机网络课程改革,计算机网络课程教学改革论文
  10. Torch 和 OpenCV4.0 在风格转换中对应层(风格迁移)