精华内容
下载资源
问答
  • GM65二维码识别模块简要设置。GM65串口通讯设置,波特率设置。
  • 关于倍加福二维码识别模块的使用手册,包含了关于如何使用,怎么发送指令,以及怎么解析出坐标和角度。
  • 随着物联网自动识别技术的广泛应用,采用二维码识别模块的设备,在零售、交通、物流、工业等各个行业上都有它的身影。那么他们都在哪些场景应用到?给我们的工作生活带来哪些便利呢?下面远景达(RAKINDA)通过简单...

    随着物联网自动识别技术的广泛应用,采用二维码识别模块的设备,在零售、交通、物流、工业等各个行业上都有它的身影。那么他们都在哪些场景应用到?给我们的工作生活带来哪些便利呢?下面远景达(RAKINDA)通过简单地介绍它应用场景。
    在这里插入图片描述
    1、二维码识别模块嵌入到平板终端,用于仓储物流行业
    条形码、二维码作为物流信息的数据载体,由于二维码扫描模组对条码数据处理的高效性和低成本性,对于集成商客户而言,二维码扫码功能的拓展使得它成为智能终端的标配,但是二维码扫描模组不能单独使用,必须内嵌到设备内部从而形成“二维码扫描区域”。也就是嵌入到平板设备中,利用它进行物流快递包裹进行扫描并分拣,促进物流业的效率提升。
    2、二维码识别模块嵌入到台式设备,用于扫码支付
    在便利店或者超市中,一般都是使用体积较小的扫描设备,而这些设备正是嵌入二维码识别模块的设备,它可以对用户提供的付款码进行扫描,并进行结账。
    3、二维码识别模块嵌入到通道闸机,用于扫码过闸
    在安防上,采用二维码识别模块的通道闸机,多了一个扫码过闸的功能,它提升了用户的使用体验,特别是在如今的移动互联网时代,手机已经成为生活中必不可少的电子产品,它的应用,解决了门禁卡易丢失、携带不便等问题,采用手机进行开闸,可以节省制卡成本和发卡步骤。
    总之,二维码识别模块不仅仅应用于以上领域,在很多场景上都给我们生活带来了便利。

    展开全文
  • Quirc二维码识别模块

    千次阅读 2020-06-29 16:56:30
     下载下来的文件主要有demo、tests、lib,由于自己对二维码识别过程不是十分了解,本文主要对demo的一部分进行了分析。  首先是main()函数。这里使用了一系列命令行参数,主要是跑了run_demo()这个函数。   ...

    背景

      师兄要用这个参加集赛,但是说自己C语言不太行,花了一个多小时帮他分析了一下(虽然自己也不太行)。

      对应模块的GitHub地址:https://github.com/dlbeer/quirc

      记录一下,一旦以后用到呢。

    内容

      下载下来的文件主要有demo、tests、lib,由于自己对二维码识别过程不是十分了解,本文主要对demo的一部分进行了分析。

     

      首先是main()函数。这里使用了一系列命令行参数,主要是跑了run_demo()这个函数。

      

     

     

     

     

      run_demo()这一函数。方框部分主要是错误处理,包含对摄像头初始化和内存分配等出现的问题输出。圆框部分mjpeg()应该是对MJPEG译码器进行初始化,经过循环后释放掉了。所以主要操作还是main_loop()对数据进行了处理

     

     

     

     

     

      main_loop()前一部分应该主要是转成reg32,然后获取灰度,用于识别二维码信息。方框中主要是将格式转换成rgb32,圆框中应该是获取灰度信息。注意到该部分用到了quirc_begin()和quirc_end(),根据官方说法,这两个函数将灰度图像直接输入了quirc用于图像处理的缓冲区。quirc_begin()返回了一个之前已经分配的buffer的指针,可以通过quirc_count和quirc_extract来找到对应二维码。

     

     

      quirc_decode()实现译码,在main_loop()中的draw_qr()中。官方示例中quirc_decode()以引用方式传递参数,函数内对data进行的修改直接影响到对应data,译码成功则打印出来。

     

     

      具体译码实现还未细看,就酱~

    展开全文
  • 请注意:本图片来自杭州城章科技有限公司提供的GROW GM65 条码二维码扫描识别模块 兼容大部分条码和二维码产品,图片仅供参考,GROW GM65 条码二维码扫描识别模块 兼容大部分条码和二维码产品会因为批次的不同可能与...

    请注意:本图片来自杭州城章科技有限公司提供的GROW GM65 条码二维码扫描识别模块 兼容大部分条码和二维码产品,图片仅供参考,GROW GM65 条码二维码扫描识别模块 兼容大部分条码和二维码产品会因为批次的不同可能与本图片不一致,请以收到的实物为准。

    杭州城章科技有限公司                            地址:杭州市下城区石桥路2791B310#
    TEL
    0571-86688123   

    QQ:   905713366

    http://www.hzgrow.com


    展开全文
  • 前端学习--实现二维码识别功能

    千次阅读 热门讨论 2018-04-26 14:55:37
    最近所做的毕设项目正好与之前很火的共享单车相关,共享单车应用中很关键的一个部分就是扫码用车,但我之前没有做过相关的模块,在参考网上相关实现的教程时发现,基本上所有的二维码识别模块都是通过客户端来完成的...

    概述:

    最近所做的毕设项目正好与之前很火的共享单车相关,共享单车应用中很关键的一个部分就是扫码用车,但我之前没有做过相关的模块,在参考网上相关实现的教程时发现,基本上所有的二维码识别模块都是通过客户端来完成的很少有通过前端技术实现。令我很苦恼。

    但是功夫不负有心人,查阅过大量资料后我在github上找到了一个用js实现二维码扫描的库(https://github.com/LazarSoft/jsqrcode),而且顺藤摸瓜的找到了采用这个库实现的真实例子(https://webqr.com/)。

    功能演示

    这里我们的网页只是文件只是放在本地,并使用ubuntu自带的firefox打开,如果使用其他浏览器比如谷歌可能无法弹出请求摄像头的模态框(谷歌的安全策略不允许调用本地媒体)

    这里写图片描述

    允许摄像头后就会开始捕捉摄像头中的二维码

    这里写图片描述

    查看扫码结果,我们使用草料二维码(https://cli.im/)生成了里面包含一个“1”字符的二维码,经过我们的二维码识别程序成功识别了出来,并在下面显示出来。

    这里写图片描述

    程序流程图

    这里写图片描述

    代码

    index.htm(其中引用的js除了webcam.js为自己编写的其他均为githubjsqrcode上下载的js库)

    <html>
    <head>
      <meta http-equiv="Content-type" content="text/html;charset=UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui">
      <meta content="yes" name="apple-mobile-web-app-capable">
      <meta content="black" name="apple-mobile-web-app-status-bar-style">
      <meta content="telephone=no" name="format-detection">
      <meta content="email=no" name="format-detection">
      <script type="text/javascript" src="https://cdn.bootcss.com/jquery/2.0.0/jquery.js"></script>
    
      <title>scan-code</title>
      <style type="text/css">
        *{
            padding:0;
            margin:0;
        }
        a{
            text-decoration:none;
            color:#fff;
        }
        html{
            width:100%;
            height:100%;
            font-size:16px;
        }
        body{
            width:100%;
            height:100%;
    
        }
        .total{
            width:100%;
            height:100%;
            /*background:url(/static/img/bg2.jpeg) no-repeat;*/
            background-size:100% 100%;
            overflow: hidden;
            /*background-color: #322F42;*/
        }
        #back_upper{
            display: block;
            width:4rem;
            height:4rem;
            margin-top: 1rem;
            margin-left: 1rem;
            background:url(http://img0.ph.126.net/7vVoDLyELLu5Ti2agzvxjA==/106116066320155563.png) no-repeat;
            opacity:1;
        }
        #v{
            width:320px;
            height:240px;
        }
        #qr-canvas{
            display:none;
        }
        #outdiv
        {
    
        }
        .scanning_frame{
            margin:5rem auto;
            width:320px;
            height:240px;
            border: 3px solid #000;
            position: relative
        }
        .infor{
            width:15rem;
            height: 4rem;
            text-align: center;
            line-height: 4rem;
            background:#d81e06;
            color: #fff;
            border-radius: 2rem;
            opacity: 0.6;
            margin:0 auto;
        }
        #result{
            width:15rem;
            height:4rem;
            font-size:2rem;
            text-align: center;
            line-height: 4rem;
            margin:0 auto;
            color: #d81e06;
        }
        /*加载动画效果*/
        .spinner {
            width: 60px;
            height: 60px;
            position: absolute;
            top:90px;
            left: 130px;
            /*background-color: #fff;*/
        }
    
        .double-bounce1, .double-bounce2 {
            width: 100%;
            height: 100%;
            border-radius: 50%;
            background-color: #d81e06;
            opacity: 0.6;
            position: absolute;
            top: 0;
            left: 0;
            -webkit-animation: bounce 2.0s infinite ease-in-out;
            animation: bounce 2.0s infinite ease-in-out;
        }
    
        .double-bounce2 {
            -webkit-animation-delay: -1.0s;
            animation-delay: -1.0s;
        }
    
        @-webkit-keyframes bounce {
            0%, 100% { -webkit-transform: scale(0.0) }
            50% { -webkit-transform: scale(1.0) }
        }
    
        @keyframes bounce {
            0%, 100% {
            transform: scale(0.0);
            -webkit-transform: scale(0.0);
            }
            50% {
            transform: scale(1.0);
            -webkit-transform: scale(1.0);
            }
        }
        </style>
    </head>
    
    <body>
        <div class="total">
            <!-- 扫码区域 -->
            <div id="outdiv" class="scanning_frame">
                <video id="v" autoplay></video>
                <canvas id="qr-canvas"></canvas>
                <!--加载动画-->
                <div class="spinner" id="loading">
                    <div class="double-bounce1"></div>
                    <div class="double-bounce2"></div>
                </div>
            </div>
            <div class="infor">请扫描车上的二维码</div>
            <!-- 展示扫码结果 -->
            <div>
                <p id="result"></p>
            </div>
        </div>
    
    <script type="text/javascript" src="js/grid.js"></script>
    <script type="text/javascript" src="js/version.js"></script>
    <script type="text/javascript" src="js/detector.js"></script>
    <script type="text/javascript" src="js/formatinf.js"></script>
    <script type="text/javascript" src="js/errorlevel.js"></script>
    <script type="text/javascript" src="js/bitmat.js"></script>
    <script type="text/javascript" src="js/datablock.js"></script>
    <script type="text/javascript" src="js/bmparser.js"></script>
    <script type="text/javascript" src="js/datamask.js"></script>
    <script type="text/javascript" src="js/rsdecoder.js"></script>
    <script type="text/javascript" src="js/gf256poly.js"></script>
    <script type="text/javascript" src="js/gf256.js"></script>
    <script type="text/javascript" src="js/decoder.js"></script>
    <script type="text/javascript" src="js/qrcode.js"></script>
    <script type="text/javascript" src="js/findpat.js"></script>
    <script type="text/javascript" src="js/alignpat.js"></script>
    <script type="text/javascript" src="js/databr.js"></script>
    <script src="js/webcam.js"></script>
    <script type="text/javascript">load()</script>
    </body>
    </html>
    

    webcam.js

    var n = null;
    var v = null;
    var gCtx = null;
    
    function captureToCanvas(){
    
          try{
                gCtx.drawImage(v,0,0);//在canvas元素中绘出video的某一帧
                try{
                    qrcode.decode();//扫描二维码
                    //console.log(qrcode.decode());//扫描成功输出二维码的信息
                    document.getElementById('loading').style.display = "none";//隐藏掉加载动画
                }
                catch(e){
                    console.log(e);//未扫描出二维码,输出错误信息
                    setTimeout(captureToCanvas, 500);//500ms之后再重绘canvas
                    document.getElementById('loading').style.display = "block";
                }
            }
            catch(e){
                    console.log(e);//若失败,输出错误信息
                    setTimeout(captureToCanvas, 500);//500ms再重绘canvas
            }
    }
    //初始化canvas元素,形成一个矩形框
    function initCanvas(w,h){
    
        n = navigator;
        v = document.getElementById("v");
        var gCanvas = document.getElementById("qr-canvas");
        gCanvas.style.width = w + "px";
        gCanvas.style.height = h + "px";
        gCanvas.width = w;
        gCanvas.height = h;
        gCtx = gCanvas.getContext("2d");
        gCtx.clearRect(0, 0, w, h);
    }
    
    function setwebcam(){
    var options = true;
    if(navigator.mediaDevices && navigator.mediaDevices.enumerateDevices)
    {
        try{
            navigator.mediaDevices.enumerateDevices().then(function(devices) {
              devices.forEach(function(device) {
                if (device.kind === 'videoinput') {
                  if(device.label.toLowerCase().search("back") >-1)
                    options={'deviceId': {'exact':device.deviceId}, 'facingMode':'environment'} ;
                }
    
    
                console.log(device.kind + ": " + device.label +" id = " + device.deviceId);
              });
              setwebcam2(options);
    
            });
        }
        catch(e)
        {
            console.log(e);
        }
    }
    else{
        console.log("no navigator.mediaDevices.enumerateDevices" );
    
    }
    }
    
    function setwebcam2(options){
    
              var p = n.mediaDevices.getUserMedia({video: options, audio: false});
              p.then(success, error);
            //  setTimeout(captureToCanvas, 500);
    
    }
    function success(stream){
        v.srcObject = stream;
        setTimeout(captureToCanvas(), 500);
    }
    function error(error){
        console.log(error);
    }
    function load(){
        initCanvas(800,600);
        qrcode.callback = read;
        setwebcam();
    }
    function read(a){
        document.getElementById("result").innerHTML = a.toString();
        console.log("qrcode info:"+a);//输出扫描后的信息
    }
    
    展开全文
  • 做串口屏幕开的过程中使用的二维码为深色背景,突然发现APP的二维码识别模块无法识别。原来真的不是二维码想多大就多大,想什么颜色就什么颜色! 深色背景二维码(除了微信外其他扫码设备无法识别) 浅色背景...
  • 这个资料是条形码二维码扫描识别模块GM65在STM32F103ZET6上示例程序,主要用到的是串口通信和触摸屏显示器。
  • 在python下二维码识别,目前主要有三个模块:zbar 、zbarlight、zxing。 未使用zbarlight,原因是zbarlight和zbar的dll相同,二维码识别准去率没提升。另外,该包的pip安装存在一些问题未解决。 1、安装包: ...
  • 前面,我们已经介绍了两种集成 wechat_qrcode 微信二维码识别能力的做法: 完整编译 OpenCV 和 OpenCV Contrib Native C++ 单独集成 wechat_qrcode 模块 这两种方式的预览和识别均是基于 OpenCV 提供的 JavaCamera...
  • 最近项目中用到二维码图片识别,在python下二维码识别,目前主要有三个模块:zbar 、zbarlight、zxing。 1、三个模块的用法: #-*-coding=utf-8-*- import os import logging import zbar from PIL import...
  • 利用pyzbar进行二维码识别

    千次阅读 2019-01-31 09:14:53
    任务目的:从一堆 图图片中识别二维码图片 利用开源工具包pyzbar来识别二维码 1.首先安装pyzbar:pip install pyzbar 安装pillow: pip install pillow 首先pillow里导入Image模块来读取图片进行后面步骤 ...
  • Zxing库的源码,C#语言 ,VS编译器,.net4.0以上框架支持,包含二维码生成和识别模块,支持常规一维条形码,QR、DM等二维码,进行了识别优化,测试成功率99%。
  • 基于LabVIEW的二维码识别程序

    千次阅读 2020-02-13 11:04:36
    分享一个利用摄像头拍摄二维码识别二维码内容的小程序。 准备工作: 硬件:计算机、图像采集设备(本文采用的是笔记本自带的摄像头) 软件:LabVIEW 2018以及NI视觉开发模块 方法:利用VisionandMotion中的...
  • 关于二维码主要有三个python模块:zbar 、zbarlight、zxing。其识别效果与速度。其他人说的很明白,我这里不再阐述。【请点击】 zxing开源地址:https://github.com/zxing/zxing/ 安装依赖: pip install -i ...
  • * 修正矢量格式无法被识别(感谢jimyu) * 修正字符画 - 废除生成网址方法 1.3 + 增加底图合成(复制、保存、显示等方法) + 增加23种常用qr信息生成方法 * 修正保存丢失图标 * 修正图标固定大小、无法居中 ...
  • pyzbar进行二维码识别

    2019-07-21 22:13:26
    首先安装pyzbar:pip install ...首先pillow里导入Image模块来读取图片进行后面步骤 from pilow import Image img=Image.open(filename) img.size—>图片尺寸 然后从pyzbar导入pyzbar import pyzbar.pyzbar as ...
  • MATLAB GUI界面的条形码...就要对条形码信息提取,然后在按照比例将提取到的条形码信息转换成标准模块组成的条形码。最后通过相应的译码得到条形码中的数字,判别是否正确后输出,这样就完成了条形码识别的整个过程。
  • 高清,500万像素,可做二维码识别 ,提供源码! STM32F429 OV5640 连续自动变焦: https://v.youku.com/v_show/id_XMTU2NTI4MDU5Mg==.htm... 附件内容说明: 实物购买链接:...
  • QR二维码生成模块1.4,修正矢量格式、字符画等错误QR编码 └生成 └取宽度 └取高度 └取位图数据 └画图 └擦除 └取位图句柄 └保存 └是否生成 └是否画图 └复制 └取文本 └取编码 └取纠错级别...
  • OpenCV在对象检测模块中QRCodeDetector有两个相关API分别实现二维码检测与二维码解析: # 检测二维码 bool cv::QRCodeDetector::detect( InputArray img, OutputArray points )const img输入图像,灰度或者彩色...
  • 1、ZXing简介 ZXing(“斑马线”)是一种开放源代码的多格式1D / 2D条码图像处理库,以Java实现,并带有其他语言的端口。 GitHub地址 ...官方API文档 ...因为该代码被组织成几个子目录,对应于模块,...
  • 模块是小编在做工程实训的物流小车所用,当时因为某些特殊原因,不得不放弃视觉识别,因此想到用模块去代替功能。该模块就是当时在淘宝买的。虽然不如openmv那些效率高,但还是可以完成功能,当时用得也还不错,接...
  • 这个模块的用处就是让拥有二维码的人才能玩你的游戏,某些客户很喜欢这个东西 思路: (每隔一秒)检索你的摄像头识别二维码,如果识别二维码的信息,上传到服务器,服务器接收到数据,跟数据库的信息进行比对,如果存在,...
  • 二维码扫描识别软件

    2019-04-15 18:04:07
    采用AVICAP32模块回调摄像头每帧视频数据,然后将此视频数组转化成图片,再用Zxing识别二维码,将二维码识别结果输出到控制台。外加INI文件定义二维码在视频中的大概位置,以加快处理速度,同时可定义扫描频率和等待...
  • 二维码识别

    千次阅读 2019-05-20 19:36:43
    定位图形确定二维码符号中模块的坐标,二维码中的模块都是固定的,包括校正图形,版本信息,数据和纠错码。分隔符呢,就是将探测图形与二维码信息图像分开。 2、灰度化二维码信息像素:手机拍到的图像都是彩色的,...
  • 二维码识别和生成器! 调用了精易模块 希望大家指点指点
  • 首先能够用人工的方法把二维码识别出来,然后才能够把相关的方法 用代码进行自动化执行。在自动化识别的过程中,把图像识别如下01的 二维数组的过程中,最容易出错。在二维数组的基础上,进行后序的操作 几乎没有...
  • Android二维码扫码模块

    2017-09-27 09:16:30
    Android二维码扫码模块模块采用双核心(zxing,zbar)进行解码,同时zxing在二值化算法上也采用双算法优点 zbar弥补了zxing识别慢,倾斜角度的问题 zxing解码增加了直方图二值化算法,有助于识别高对比度的二维码...
  • 二维码项目开发学习必备!!!由开源Zxing项目修改而来,简单易用;包括手机二维码扫描和识别模块;基于Android;

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 218
精华内容 87
关键字:

二维码识别模块