使用jsQR识别二维码

这篇具有很好参考价值的文章主要介绍了使用jsQR识别二维码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.关联

在《初识html5使用jsQR识别二维码》博文中我们已经初步了解jsQR识别带有QR码的图片。在现实环境中,我们常常使用手机扫码QR,那么应该怎样解决呢??

2.解决方法

我们可以在手机浏览器的网页上调用摄像头,调用摄像头使用核心的API navigator.mediaDevices.getUserMedia 提示用户许可使用媒体输入,媒体输入会产生一个 MediaStream,里面包含了请求的媒体类型的轨道。

若用户成功使用,它返回一个 Promise 对象,成功后会 resolve 回调一个 MediaStream对象;若用户拒绝了使用权限,或者需要的媒体源不可用,promise 会 reject 回调一个 PermissionDeniedError 或者 NotFoundError 。

接着使用二维码解析库 JSQR扫描网络摄像头流,并将定位,提取和解析其中的任何 QR码。

3.实现代码

下面是实现的脚本

    <script type="text/javascript">
        var video = document.createElement("video");
        var canvasElement = document.getElementById("canvas");
        var canvas = canvasElement.getContext("2d");
 
		// 描边
        function drawLine(begin, end, color) {
            canvas.beginPath();
            canvas.moveTo(begin.x, begin.y);
            canvas.lineTo(end.x, end.y);
            canvas.lineWidth = 4;
            canvas.strokeStyle = color;
            canvas.stroke();
        }
 
        // 尝试打开手机上安装后置摄像头
        navigator.mediaDevices.getUserMedia({
			video: { facingMode: "environment" } 
		}).then(function (stream) {
            video.srcObject = stream;
			// 阻止IOS视频全屏
            video.setAttribute("playsinline", true); 
            video.play();
            requestAnimationFrame(tick);
        });
 
        function tick() {
            if (video.readyState === video.HAVE_ENOUGH_DATA) {
                canvasElement.hidden = false;
 
                canvasElement.height = video.videoHeight;
                canvasElement.width = video.videoWidth;
                canvas.drawImage(video, 0, 0, canvasElement.width, canvasElement.height);
                var imageData = canvas.getImageData(0, 0, canvasElement.width, canvasElement.height);
				
				// QR码解析
                var code = jsQR(
					imageData.data,   // 图像数据
					imageData.width,  // 宽度
					imageData.height, // 高度
					{
                    inversionAttempts: "dontInvert",
					}
				);
				
                if (code) {
                    drawLine(code.location.topLeftCorner, code.location.topRightCorner, "#FF3B58");
                    drawLine(code.location.topRightCorner, code.location.bottomRightCorner, "#FF3B58");
                    drawLine(code.location.bottomRightCorner, code.location.bottomLeftCorner, "#FF3B58");
                    drawLine(code.location.bottomLeftCorner, code.location.topLeftCorner, "#FF3B58");
					alert(code.data);
                }
            }
            requestAnimationFrame(tick);
        }
    </script>

4.发布到IIS

如下图所示两个文件:

jsqr,前端,javascript,前端,开发语言

 安装下面方式新建站点,由于手机打开摄像头需要安全连接,需要使用https,所以发布网站的时候,需要用https协议。

jsqr,前端,javascript,前端,开发语言

 5.效果图

用手机打开网页扫描图片:

jsqr,前端,javascript,前端,开发语言

例子下载文章来源地址https://www.toymoban.com/news/detail-610752.html

到了这里,关于使用jsQR识别二维码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 如何使用Python识别图片中的二维码

    如何使用Python识别图片中的二维码 二维码是一种方便快捷的信息传递方式,它们广泛应用于电子商务、广告和其他领域。在许多情况下,我们需要识别图片中的二维码,以便从中获取信息。Python是一种流行的编程语言,拥有丰富的图像处理库,可以帮助我们识别二维码。 使

    2024年02月04日
    浏览(6)
  • Vue中qrcode的使用方法(生成二维码插件) / 前端页面根据URL链接生成二维码

    1.下载 npm install qrcode --save-dev 2.引入(在所需要的页面中引入) import QRCode from “qrcode”; //引入生成二维码插件 3.生成二维码 作者:微微一笑绝绝子 出处:Vue中qrcode的使用方法(生成二维码插件) / 前端页面根据URL链接生成二维码 - 微微一笑绝绝子 - 博客园 本博客文章均为作者

    2024年02月15日
    浏览(16)
  • JavaScript 中生成二维码,你可以使用第三方库,其中最流行和广泛使用的是 QRCode.js。以下是使用 QRCode.js 生成二维码的基本步骤:

    要在 JavaScript 中生成二维码,你可以使用第三方库,其中最流行和广泛使用的是 QRCode.js。以下是使用 QRCode.js 生成二维码的详细的步骤如下: 步骤 1: 引入 QRCode.js 库 首先,将 QRCode.js 库引入到你的 HTML 文件中。你可以从 CDN 上获取它: 步骤 2: 创建容器 在页面中创建一个容器

    2024年01月18日
    浏览(38)
  • 数字图像处理二维码识别python+opencv实现二维码实时识别

    数字图像处理二维码识别python+opencv实现二维码实时识别

    数字图像处理二维码识别 python+opencv实现二维码实时识别 特点: (1)可以实现普通二维码,条形码; (2)解决了opencv输出中文乱码的问题 (3)增加网页自动跳转功能 (4)实现二维码实时检测和识别 代码保证原创、无错误、能正常运行(如果电脑环境配置没问题) 送二维

    2024年01月16日
    浏览(30)
  • PDF二维码识别,PDF转图片再识别二维码java实现

    实现步骤: 1.使用icepdf把pdf转化为图片 2.使用google的zxing识别图片中的二维码 包引用 代码部分,一个类几个方法就实现了,还是比较简单

    2024年03月15日
    浏览(8)
  • 【javascript】二维码

    【javascript】二维码

    javascript二维码的生成可以用第三方库qrcode.js。 下载地址:https://gitcode.net/mirrors/davidshimjs/qrcodejs 解压后打开index.html文件输入百度地址回车,就可以看到指定页面的二维码了。    html代码: 根据使用文档,二维码的生成需要QRCode对象。  QRCode有两个参数,前一个是插入二维码

    2024年02月12日
    浏览(8)
  • 计算机竞赛 基于机器视觉的二维码识别检测 - opencv 二维码 识别检测 机器视觉

    计算机竞赛 基于机器视觉的二维码识别检测 - opencv 二维码 识别检测 机器视觉

    🔥 优质竞赛项目系列,今天要分享的是 基于机器学习的二维码识别检测 - opencv 二维码 识别检测 机器视觉 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/postgraduate 物体检测就是对数字图像中一类特定的物体的

    2024年02月11日
    浏览(13)
  • 计算机毕设 基于机器视觉的二维码识别检测 - opencv 二维码 识别检测 机器视觉

    计算机毕设 基于机器视觉的二维码识别检测 - opencv 二维码 识别检测 机器视觉

    今天学长向大家介绍一个机器视觉的毕设项目,二维码 / 条形码检测与识别 基于机器学习的二维码识别检测 - opencv 二维码 识别检测 机器视觉 物体检测就是对数字图像中一类特定的物体的位置进行自动检测。基本的检测框架有两种: 一种是以滑动窗口为单位对图像进行扫描

    2024年02月10日
    浏览(10)
  • 互联网加竞赛 基于机器视觉的二维码识别检测 - opencv 二维码 识别检测 机器视觉

    互联网加竞赛 基于机器视觉的二维码识别检测 - opencv 二维码 识别检测 机器视觉

    🔥 优质竞赛项目系列,今天要分享的是 基于机器学习的二维码识别检测 - opencv 二维码 识别检测 机器视觉 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/postgraduate 物体检测就是对数字图像中一类特定的物体的

    2024年01月18日
    浏览(12)
  • uniapp小程序中长按识别公众号二维码,企业微信二维码,个人微信二维码

    uniapp小程序中长按识别公众号二维码,企业微信二维码,个人微信二维码

    长按识别公众号二维码,企业微信二维码,个人微信二维码 效果图 通过给image标签添加show-menu-by-longpress=\\\"true\\\"属性,实现长按识别功能 注意:二维码图片样式尺寸不能太小,太小时也会出现长按二维码识别不了

    2024年02月12日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包