首页 > 其他分享 >jsQR库识别二维码

jsQR库识别二维码

时间:2024-06-20 16:59:07浏览次数:17  
标签:function code img qrcanvas width 二维码 jsQR var 识别

<html>
    <head>
        <meta charset="utf-8" />
        <title>jsQR库识别二维码</title>
        <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
        <script src="https://cozmo.github.io/jsQR/jsQR.js"></script>
    </head>
    <body>
        <canvas id="qrcanvas" style="display:none;"></canvas>
        <span lan_id="bc">选择二维码</span> <input type="file"  id="codeChange"/>
        <div>
            <h2>识别结果:</h2>
            <ul id="result">
            </ul>
        </div>
    </body>
    <script type="text/javascript">
        $("#codeChange").change(function () {
            var $this = $(this);
            var file = $this[0].files[0];
            //置空连续上传
            //$this.val('');
      
            var fr = new FileReader();
            fr.readAsDataURL(file);
            fr.onloadend = function(e) {
                var base64Data = e.target.result;
                base64ToQR(base64Data)
            }
        });

        function base64ToQR(data) {
            var qrcanvas = document.getElementById("qrcanvas");
            var ctx = qrcanvas.getContext("2d");
            var img = new Image();
            img.src = data;
            img.onload = function() {
                $("#qrcanvas").attr("width",img.width)
                $("#qrcanvas").attr("height",img.height)
                ctx.drawImage(img, 0, 0, img.width, img.height);
                var imageData = ctx.getImageData(0, 0, img.width, img.height);
                const code = jsQR(imageData.data, imageData.width, imageData.height, {
                    inversionAttempts: "dontInvert",
                }); 
                if(!code){
                    alert("识别二维码错误")
                }
                showCode(code.data)
            };
        }
        
        function showCode(code){
            $("#result").append("<li>"+code+"</li>")
        }
    </script>
</html>

 

标签:function,code,img,qrcanvas,width,二维码,jsQR,var,识别
From: https://www.cnblogs.com/cxx8181602/p/18259009

相关文章

  • 技术革新引领钢材质量智能化检测新纪元,基于YOLOv3全系列【yolov3tiny/yolov3/yolov3sp
    随着人工智能(AI)技术的迅猛发展,其应用领域不断拓宽,正深刻改变着传统产业的运作模式。在钢材生产这一基础工业领域,AI的引入正为钢材的质量检测带来革命性的变革。在传统的钢材生产流程中,质量检测是确保产品质量的关键环节。然而,这一环节长期以来主要依赖于经验丰富的工人通过肉......
  • [模式识别复习笔记] 第1-2章 基本概念
    1.模式识别系统的各个设计环节模式采集:借助物理设备(传感器、摄像头)进行数据的采集和存储。预处理:数据清洗、降噪,增强数据中有用的信息。特征提取:提取数据中对识别有用的特征。分类器学习:根据训练数据特点,选择何时的分类器模型,利用训练集学习得到参数。2.模式......
  • [模式识别复习笔记] 第3章 线性判别函数
    1.线性判别函数1.1定义在\(d\)维特征空间中,有线性判别函数:\[G(x)=w^{\text{T}}x+b\]其中,\(w=[w_1,w_2,\ldots,w_d]^T\)称为权值向量,\(b\)称为偏置,都是需要学习的参数。\(G(x)=0\)为决策边界方程。PS:只能解决二分类问题。1.2几何意义\(w\)为超......
  • [模式识别复习笔记] 第4章 SVM
    1.SVM简介1.1SVM支持向量机给定如图所示的线性可分训练集,能够将两类样本正确分开的直线很多。感知机算法可以找到一条直线,且找到的直线不唯一。然而感知机无法确定哪一条直线最优,但是\(\text{SVM}\)可以。\(\text{SVM}\)可以找到能够将训练样本正确分类的直线中具有......
  • Pytorch搭建MyNet实现MNIST手写数字识别
    视频:https://www.bilibili.com/video/BV1Wf421B74f/?spm_id_from=333.880.my_history.page.click1.1Model类importtorchimporttorch.nnasnn#改进的三层神经网络classMyNet(nn.Module):def__init__(self):super().__init__()#定义全连接......
  • Typora行内公式识别不了
    Typora行内公式识别不了,主要是因为行内公式属于LaTeX扩展语法,并非Markdown的通用标准需要在Typora的“文件”-“偏好设置”-“Markdown扩展语法”中,勾选“内联公式”一项,Typora才会予以解析。成功效果......
  • yolov8 配置环境以及入门级识别 保姆级教程 小白一看就懂!!!
    研究了这么久的yolo姿态算法终于入门啦!!!!那么接下来由我带领大家进入yolo世界,首先安装软件,需要vscode,python以及Anaconda(它的下载路径不能有中文)。具体安装方法搜一下就有了,本文不详细介绍喽。还需要到网站去下载开源代码,当然你也可以进我主页找到对应资源包去下载。代码网址:Gi......
  • 二维码分班查询系统你还不会用?
    分班查询系统,已经成为许多学校管理分班流程的得力助手。当新学期伊始,学校需要进行分班,而传统的手工分班方式不仅耗时,还容易出错。这时,一个智能的分班查询系统就显得尤为重要。作为老师,您可能已经意识到,分班不仅仅是简单的名单分配,而它关系到学生的学习环境和未来发展。易......
  • 二维码的容量大小
    突然想看看二维码最多能存储多少数据,正好有个二维码生成插件测试了下中文是426个(无回车换行符)英文是1270个但是这么多字符的情况识别就比较困难了,对清晰度要求高,最好是无压缩网上查的是500多个汉字,参考下......
  • 在线免费体验的文字识别接口
    在这个信息爆炸的时代,每分每秒都有海量的文字信息等待我们去解读。试想一下,如果有一种魔法,能瞬间将纸质文档、图片中的文字转变为可编辑的数字文本,那将是何等的便捷?无需再为手动录入长篇大论而烦恼,也不用担心重要信息因格式限制而束之高阁。这一切,都得益于前沿的文字识别接口......