扫描识别二维码

思路
1. 操作摄像头,获取图片。HTML5 WEBRTC的navigator.getUserMedia方法去实时获取摄像头资源。 
2. 利用canvas使用相关算法分析图片识别图片得出结果,可用jquery.qrcode分析二维码 。(技术点:getImageData)

局限性


        移动平台支持getUserMedia/Stream API的浏览器比较少,支持列表 http://caniuse.com/#feat=stream (目前没发现有IOS是支持的)
IOS替代方案笔记:
调用摄像头拍照,把图片传到h5页面。然后在解析。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<!DOCTYPE HTML>
< html >
< head >
     < title >上传图片</ title >
     < meta  charset = "utf-8" >
</ head >
< body >
     < iframe  name = "uploadfrm"  id = "uploadfrm"  style = "display: none;" ></ iframe >
     < form  name = "formHead"  method = "post"  action = ""  id = "formHead"  enctype = "multipart/form-data"  target = "uploadfrm" >
         < div >
             < div >
                 < input  type = "file"  name = "file_head"  id = "file_head"  onchange = "javascript:setImagePreview();"  />
             </ div >
             < div >
                 < div  id = "DivUp"  style = "display: none" >
                     < input  type = "submit"  data-inline = "true"  id = "BtnUp"  value = "确认上传"  data-mini = "true"  />
                 </ div >
             </ div >
         </ div >
     </ form >
     < div  data-role = "fieldcontain" >
         < div  id = "localImag" >
             < img  id = "preview"  width = "-1"  height = "-1"  style = "display: none"  />
         </ div >
     </ div >
         
     < script  type = "text/javascript" >
         function setImagePreview() {
             var preview, img_txt, localImag, file_head = document.getElementById("file_head"),
             picture = file_head.value;
             if (!picture.match(/.jpg|.gif|.png|.bmp/i)) return alert("您上传的图片格式不正确,请重新选择!"),
             !1;
             if (preview = document.getElementById("preview"), file_head.files && file_head.files[0]) preview.style.display = "block",
                 preview.style.width = "63px",
                 preview.style.height = "63px",
                 preview.src = window.navigator.userAgent.indexOf("Chrome") >= 1 || window.navigator.userAgent.indexOf("Safari") >= 1 ? window.webkitURL.createObjectURL(file_head.files[0]) : window.URL.createObjectURL(file_head.files[0]);
             else {
                 file_head.select(),
                 file_head.blur(),
                 img_txt = document.selection.createRange().text,
                 localImag = document.getElementById("localImag"),
                 localImag.style.width = "63px",
                 localImag.style.height = "63px";
                 try {
                     localImag.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)",
                     localImag.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = img_txt
                 } catch(f) {
                     return alert("您上传的图片格式不正确,请重新选择!"),
                     !1
                 }
                 preview.style.display = "none",
                 document.selection.empty()
             }
             return document.getElementById("DivUp").style.display = "block",
             !0
         }
     </ script >
</ body >
</ html >

代码实现

1.  https://github.com/suzhida/demo-html5-qrcode

生成二维码

具体代码

1.  https://github.com/suzhida/QRCode
测试用的二维码
qsa2015-08-08 CCID2212553

延伸阅读
iOS 8版Safari可利用摄像头扫描录入信用卡号

HTML5 实现扫描识别二维码 生成二维码相关推荐

  1. 2维照片生成3维模型_如何使用2维模型跟踪状态

    2维照片生成3维模型 Application databases are generally designed to only track current state. For example, a ...

  2. HTML5实现扫描识别二维码/生成二维码

    扫描识别二维码 思路: 1. 操作摄像头,获取图片.HTML5 WEBRTC的navigator.getUserMedia方法去实时获取摄像头资源.  2. 利用canvas使用相关算法分析图片识别图 ...

  3. iOS-长按识别二维码/生成二维码/扫描二维码

    参考:http://www.jianshu.com/p/997cec333822 参考:https://github.com/nglszs/BCQRcode 方式一:长按识别二维码 #import & ...

  4. iOS中 扫描二维码/生成二维码详解

    最近大家总是问我有没有关于二维码的demo,为了满足大家的需求,特此研究了一番,希望能帮到大家! 指示根视图: ? 1 self.window.rootViewController = [[UINav ...

  5. 【Unity】在Unity中实现扫描二维码 生成二维码功能

    在Unity中使用二维码扫描功能需要我们在Unty中导入扫描库 下载地址:https://github.com/micjahn/ZXing.Net/releases 然后编写扫描脚本: 先在脚本上添加 ...

  6. 扫描二维码 生成二维码

    1.导入依赖 allprojects {repositories {google()jcenter()maven {url 'https://jitpack.io'}} } implementatio ...

  7. 视频怎么做成二维码扫描展示?在线视频生成二维码的技巧

    现在很多二维码在扫描的时候,可以展现出视频的内容,那么视频转二维码(https://www.jzx.com/media)是如何操作的呢?其实方法很简单,通过电脑浏览器来操作在线二维码生成器工具,就可以 ...

  8. iOS二维码生成及扫码

    概要 现在越来越多的应用加入二维码相关的业务,在iOS开发市场上很多开发人员都在使用第三方的扫码与生成二维码的控件,个人认为此类的第三方控件识别度不高.最近正好整理新框架的事情,研究了一下.具体代码如 ...

  9. Android用Zxing扫二维码/生成二维码功能

    新年已过,一切恢复真正常,新的一年给自己几句指引: 光努力还不行,方向很重要. 总是想着最坏的结果,就会让人失去改变的勇气. 你当然有权利选择自己的人生--但只有在你真正强大后,逆行的阻力才会降到最小 ...

最新文章

  1. Windows Server 2008 R2安装子域控制器
  2. 第三代:集成电路计算机
  3. LETTers比赛第七场 Guess the Numbers
  4. 马哥-51CTO-Linux培训-0910-程序包管理
  5. Eclipse console 中文乱码解决
  6. springboot日志写入mysql_44. Spring Boot日志记录SLF4J【从零开始学Spring Boot】
  7. 让Vue也可以使用Redux
  8. centos 单机部署 LDAP 服务
  9. Mysql的日期查询方法
  10. JSP标准标签库、通用标签
  11. 系统安全工作笔记001---zigw挖矿病毒_没想到生产环境给整成矿鸡了_安全意识有待提升....
  12. 转!面向对象设计原则
  13. Hbase Region拆分入门
  14. linux教程第四版第一章,第一章linux shell入门
  15. paip.输入法英文词库的处理 python 代码 o4
  16. 阿里集团公布2022“研究型实习生”计划
  17. 实现音视频编解码工具 MediaCodec 创建解码器
  18. 虚拟服务器软件哪个好,虚拟机软件哪个好?热门虚拟机软件推荐
  19. Learning Convolutional Neural Networks for Graphs
  20. Xcode 禁用indexing

热门文章

  1. Python抓取歌词自制FreeStyle
  2. 18.9.23 PION模拟赛
  3. 42、在建工程的施工单位应开展的消防安全教育工作
  4. 自学编程系列——4 Numpy数组
  5. android 检测软键盘,Android:检测软键盘打开
  6. 组网方案设计,运用Mesh组网实现无缝漫游!
  7. 个人奋斗动力源的一些感想
  8. 数据集大小与模型性能的敏感性分析
  9. vs2013编译报错,未能将obj/..复制到bin/..,bin/...文件正被另一进程时候用
  10. VS2015中“项目无法加载,因为它缺少安装组件”的解决方法