jsQR 一个完全独立的javascript 二维码识别库

jsQR 一个完全独立的javascript 二维码识别库

月光魔力鸭

2019-06-27 09:19 阅读 6142 喜欢 3 jsQR 二维码识别

jsQR 是一款纯粹的由javascript实现的二维码识别库,可以在浏览器端使用,也可以在后端node.js环境使用。我之前使用过其他的识别库,例如:qrcode-reader 或其他,在使用上都比较麻烦,而且识别率并不高。jsQR是后来发现的,感觉(没有实际对比验证)jsQR识别率要更高些,使用起来也更简单,不需要安装其他依赖软件。

我是通过jsQR来识别扫描图上的二维码信息,扫描图都比较大,分辨率都比较高,之前还想着把图中包含二维码部分的切出来再做处理的,后来发现,识别率还可以,不至于那么惨淡,就没有做,直接把整个图片传递进行识别处理的。

这里只放识别部分的代码,其他的就不贴了,业务很简单,识别某文件夹内所有图片的二维码,然后根据二维码信息做些处理而已。

识别代码

    var jsqr = require('jsqr');
    var Jimp = require('jimp');
    var buffer = fs.readFileSync(filePath);
    Jimp.read(buffer).then(function(blockimg){
        var width = blockimg.bitmap.width,
            height = blockimg.bitmap.height,
            imgData = blockimg.bitmap.data;
        var code = jsqr(imgData,width,height);
        if(code){
            console.log(code.data);//内容
        }else{
            console.log('未识别成功')
        }
    }).catch(function(err2){
        if(err2){
            console.log(err2);
            cb(null,null);
        }
    });

我这里同时又使用了jimp 模块,这个模块也是一个独立的由javascript 实现的一个对图像进行处理的工具,包括一些常见的裁剪、灰度处理、大小、图片质量等。

哪里可以找到他们

npm :

github :

感受

在整理使用上来说,jsQR识别率及调用都相对更好些,近期我会就这个模块以及其他几个模块做下识别率对比,看下哪个更高些。当然如果对于识别率要求不高的话,jsQR在操作上也更简单。

转载请注明出处: https://chrunlee.cn/article/jsqr-qrcode-read.html


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
近期需求:将一棵树导出到excel中,树是ztree,通过插件Table2excel导出table到excel中。
我们有时候会拿textarea来做编辑器,但是常用编辑器都是支持tab缩进的,这里对textarea监听下事件处理下即可实现。
最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。a,b的最大公约数记为(a,b),同样的,a,b,c的最大公约数记为(a,b,c),多个整数的最大公约数也有同样的记号。求最大公约数有多种方法,常见的有质因数分解法、短除法、辗转相除法、更相减损法。与最大公约数相对应的概念是最小公倍数,a,b的最小公倍数记为[a,b]。
在开发过程中经常会碰到跨frame 去操作的需求,那么如何获得这个frame呢,这里写了一个工具类,用来通过name获得frame的jq对象
nvm install 16.15.0 : The process cannot access the file because it is being used by another process
做作业的时候,需要在手机上预览下,但是发现如果想在移动端上展示A4样子的作业还是挺麻烦的,最后还是准备通过图片来展示,然后移动端缩放呗。。
最近一直在想着抓一些网盘数据,进行资料归拢,可是当我真正开始的时候.. 还是遇到了反爬,当然我本身就有心理预期,这是肯定会碰到的,只是没想到会在代理IP上耗费这么久,之前的时候也处理过代理IP ,可是由于一知半解,导致很多配置都不理解,debug全靠猜...
web网站上总会有在文本域中提交代码的操作,那么如何处理呢?