精华内容
下载资源
问答
  • php 二维码在线识别api

    千次阅读 2018-06-09 15:40:00
    访照草料做了个二维码识别的api 增加缓存记忆功能以便多次请求调取缓存 接口地址: https://tool.bitefu.net/qreader/index.php?url= http://open.weixin.qq.com/qr/code?username=xiaogg87 &reload= 0 ...

    访照草料做了个二维码识别的api

    增加缓存记忆功能以便多次请求调取缓存

    接口地址:

    https://tool.bitefu.net/qreader/index.php?url=http://open.weixin.qq.com/qr/code?username=xiaogg87&reload=0

    参数

    url 为待识别图片url

    reload 是否重置缓存 0 有缓存第一次慢第二次以后就快了 1无缓存每次慢

     

    单独微信识别接口

    https://tool.bitefu.net/qreader/wxqrcode.php?username=xiaogg87

    参数

    username 指微信名称

    获取方法

    关注公众号->点击 右上角人头-> 再点击右上角三个... ->选择更多资料-> 就看到微信号了

    源码下载:http://tadown.com/fs/7xia3oggcvipfc66c8/

    展开全文
  • 通过手机摄像头扫描二维码
  • 二维码相册识别

    2015-10-09 20:57:49
    二维码相册识别
  • 二维码识别程序 包含编码和识别程序 程序可以使用 无报错
  • 模糊二维码识别如果不想看累赘啰嗦的可直接点下面已搭建好的环境进行识别二维码,目前只开放了QR Code 如果不想看累赘啰嗦的可直接点下面已搭建好的环境进行识别二维码,目前只开放了QR Code 首先 大概说一下工业...

    如果不想看累赘啰嗦的可直接点下面已搭建好的环境进行识别二维码,目前只开放了QR Code

    首先
    市面专用读码器如:康耐视,基恩士读取模糊二维码效果不错,但是大家都知道品牌读码器一般在1.5万-2万之间,如果有软件版本就再好不过了。
    大概说一下工业相机常见的几种格式分别有bayerBG,bayerGB,bayerGR,BRG10packed ,MONO8,RGB8packed等等,其中我们最常用的是MONO8了,MONO8本身就是就是灰度图像了,这对于下一步的识别可减少一步图像灰度话的操作,但是如果你需要保存图像需要额外加上头部信息,因为MONO8的格式是不带图像头,这可能是由于节省空间占用的缘故,要知道相机传输字节流越小越好。
    然后
    我们就需要对图像进行预处理操作,一般来说有滤波去噪、边缘检测、定位矫正,图像二值化等操作,图像预处理需要根据二维码的模糊程度来进行,对于这一步可以在设计软件时预留几种识别模式:标准识别,加强识别等,识别越强进行的预处理越多,越复杂。
    最后
    等所有的前奏都准备完了就开始进行识别,识别控件无非就是zbar,zxing等等,废话说了这么多,下面提供一个在线识别的地址供大家进行测试
    上传3张模糊图
    在这里插入图片描述在这里插入图片描述 在这里插入图片描述
    点进去下载dll及DEMO
    http://www.o20.net/MFCQRReader.rar
    有需要请下载

    展开全文
  • WPF生成二维码识别二维码

    热门讨论 2014-07-02 10:09:31
    C# WPF制作的生成二维码识别二维码程序。
  • 二维码扫描识别

    2018-01-19 12:15:32
    二维码的扫描识别,采用csharp开发的,可以通过计算机的摄像头扫描识别
  • 二维码识别

    2013-03-27 09:30:41
    二维码识别,经过测试没有问题,识别准确,速度快。
  • 做串口屏幕开的过程中使用的二维码为深色背景,突然发现APP的二维码识别模块无法识别。原来真的不是二维码想多大就多大,想什么颜色就什么颜色! 深色背景二维码(除了微信外其他扫码设备无法识别) 浅色背景...

    做串口屏幕开的过程中使用的二维码为深色背景,突然发现APP的二维码识别模块无法识别。原来真的不是二维码想多大就多大,想什么颜色就什么颜色!

    深色背景二维码(除了微信外其他扫码设备无法识别)

    浅色背景二维码(都可以识别)

     

    二维码不起作用的原因主要以下有5个:

    (1)质量差(图案图像清晰)

    (2)反转颜色(经典的二维码在白色的背景上加入黑色方块,一定要使用浅色背景和深色前景,交换颜色不是所有的设备都可以识别)

    (3)小尺寸(二维码的大小= 距离/10 或 2 x 2英寸)

    (4)对比度差(即使使用对比色,前景也要比背景暗40%以上)

    (5)二维码的内容过多(过多的内容,让像素点更为密集,识别更加困难)

     

    感谢您的支持,写的文章如对您有所帮助,开源不易,请您打赏,谢谢啦~

     

     

     

    展开全文
  • 基于google Zxing实现二维码的生成,识别和长按识别的效果,仿微信选择相册里的二维码图片直接识别的效果 ,选择相册在主页面点击打开摄像机进行扫描,进入扫描页面,在里面有选择相册的选项,直接点击就可以调用...
  • 电脑 二维码 扫描识别软件电脑 二维码 扫描识别软件
  • 二维码本地识别,无需联网,软件小巧简洁 使用方法: 1、打开二维码图片 2、将工具置于二维码上方,拉伸窗口套中二维码 3、点击开始识别
  • 二维码颜色识别

    2021-08-10 16:55:20
    python 识别二维码中的颜色
  • C#生成二维码识别二维码

    热门讨论 2014-05-06 12:37:32
    C#语言使用ThoughtWorks.QRCode.dll库实现生成二维码识别二维码功能
  • 二维码批量识别解码py脚本, 将需要扫描的二维码放到一个文件夹下,修改python路径即可。 使用到 import os import zxing 这个是因做ctf题碰见很多二维码需要识别而做的。
  • 生成二维码二维码图片识别工具(nextqrcode 代码copy过来,移除了扫描的功能)
  • 二维码生成识别

    2013-09-05 09:51:19
    二维码的生成和识别,分开的两个程序的源代码。、 用的是国外的二维码编码库,可识别所有大众二维码
  • 主要为大家详细介绍了C#二维码图片识别代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 二维码本地识别.zip

    2020-03-27 22:06:19
    二维码本地识别 二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。
  • 二维码识别

    2014-08-24 01:49:30
    二维码识别识别技术
  • Zxing二维码识别

    2018-05-11 16:17:43
    Zxing 二维码识别 二维码识别 二维码识别 二维码识别
  • js实现长按二维码识别及上传二维码识别。样式随便写的,可以自己修改
  • C# 二维码生成 二维码识别
  • zxing二维码生成识别最新组件,免得每次都下载一大堆再重新编译
  • 基于STM32的二维码识别源码+二维码解码库lib
  • 主要介绍了Python二维码生成识别实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 我们在Java开发的时候,发现对二维码识别是不足的。所以我们需要提高识别率。 第一步。识别图片二维码。准备相应的jar包。我们在gradle+idea中开发。 compile group: 'com.google.zxing', name: 'core', ...

    我们在Java开发的时候,发现对二维码的识别是不足的。所以我们需要提高识别率。

    第一步。识别图片二维码。准备相应的jar包。我们在gradle+idea中开发。

    compile group: 'com.google.zxing', name: 'core', version: '3.3.0'
    compile group: 'com.google.zxing', name: 'javase', version: '3.3.0'

    zxing是google提供的生成二维码和识别二维码的jar包。

    第二步:准备QRCodeGenerator 

    
    import com.google.zxing.*;
    import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
    import com.google.zxing.client.j2se.MatrixToImageWriter;
    import com.google.zxing.common.BitMatrix;
    import com.google.zxing.common.HybridBinarizer;
    import com.google.zxing.qrcode.QRCodeWriter;
    import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
    import sun.misc.BASE64Decoder;
    
    import javax.imageio.ImageIO;
    import java.awt.image.BufferedImage;
    import java.io.ByteArrayInputStream;
    import java.io.File;
    import java.io.IOException;
    import java.nio.file.FileSystems;
    import java.nio.file.Path;
    import java.util.HashMap;
    import java.util.Hashtable;
    import java.util.Map;
    
    /**
     * 二维码相关操作
     * Created by hongming.zhao on 2019/11/20.
     */
    public class QRCodeGenerator {
    
        private static final int margin = 0;
        private static final String QR_CODE_IMAGE_PATH = "C:/photo/MyQRCode.png";
    
        private static void generateQRCodeImage(String text, int width, int height, String filePath) throws WriterException, IOException {
            QRCodeWriter qrCodeWriter = new QRCodeWriter();
    
            BitMatrix bitMatrix = qrCodeWriter.encode(text, BarcodeFormat.QR_CODE, width, height);
    
            Path path = FileSystems.getDefault().getPath(filePath);
            MatrixToImageWriter.writeToPath(bitMatrix, "PNG", path);
        }
    
        /**
         * 生成二维码(黑白色)
         * @param text  扫描二维码的内容
         * @param width  宽
         * @param height  长
         * @return
         * @throws Exception
         */
        public static BufferedImage qRCodeCommon(String text, int width, int height)throws Exception{
    
            Hashtable<EncodeHintType, Object> hints = new Hashtable<EncodeHintType, Object>();
            hints.put(EncodeHintType.CHARACTER_SET, "UTF-8"); // 指定编码方式,防止中文乱码
            hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H); // 指定纠错等级
            hints.put(EncodeHintType.MARGIN, margin); // 指定二维码四周白色区域大小
            BitMatrix bitMatrix = null;
            try {
                bitMatrix = new MultiFormatWriter().encode(text, BarcodeFormat.QR_CODE, width, height, hints);
            } catch (WriterException e) {
                e.printStackTrace();
            }
            return MatrixToImageWriter.toBufferedImage(bitMatrix);
        }
        /**
         * 解析二维码解析,此方法是解析Base64格式二维码图片
         * baseStr:base64字符串,data:image/png;base64开头的
         */
        public static String deEncodeByBase64(String baseStr) {
            String content = null;
            BufferedImage image;
            BASE64Decoder decoder = new BASE64Decoder();
            byte[] b=null;
            try {
                int i = baseStr.indexOf("data:image/png;base64,");
                baseStr = baseStr.substring(i+"data:image/png;base64,".length());//去掉base64图片的data:image/png;base64,部分才能转换为byte[]
    
                b = decoder.decodeBuffer(baseStr);//baseStr转byte[]
                ByteArrayInputStream byteArrayInputStream=new ByteArrayInputStream(b);//byte[] 转BufferedImage
                image = ImageIO.read(byteArrayInputStream);
                LuminanceSource source = new BufferedImageLuminanceSource(image);
                Binarizer binarizer = new HybridBinarizer(source);
                BinaryBitmap binaryBitmap = new BinaryBitmap(binarizer);
                Map<DecodeHintType, Object> hints = new HashMap<DecodeHintType, Object>();
                hints.put(DecodeHintType.CHARACTER_SET, "UTF-8");
                Result result = new MultiFormatReader().decode(binaryBitmap, hints);//解码
                System.out.println("图片中内容:  ");
                System.out.println("content: " + result.getText());
                content = result.getText();
            } catch (IOException e) {
                e.printStackTrace();
            } catch (NotFoundException e) {
                e.printStackTrace();
            }
            return content;
        }
        /**
         * 解析二维码,此方法解析一个路径的二维码图片
         * path:图片路径
         */
        public static String deEncodeByPath(String path) {
            String content = null;
            BufferedImage image;
            try {
                image = ImageIO.read(new File(path));
                LuminanceSource source = new BufferedImageLuminanceSource(image);
                Binarizer binarizer = new HybridBinarizer(source);
                BinaryBitmap binaryBitmap = new BinaryBitmap(binarizer);
                Map<DecodeHintType, Object> hints = new HashMap<DecodeHintType, Object>();
                hints.put(DecodeHintType.CHARACTER_SET, "UTF-8");
                Result result = new MultiFormatReader().decode(binaryBitmap, hints);//解码
                System.out.println("图片中内容:  ");
                System.out.println("content: " + result.getText());
                content = result.getText();
            } catch (IOException e) {
                e.printStackTrace();
            } catch (NotFoundException e) {
                e.printStackTrace();
            }
            return content;
        }
    
        public static void main(String[] args) {
            try {
                //String info="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1575540267760&di=e8b961051b3ab58538e092c5e1be87a1&imgtype=0&src=http%3A%2F%2Fg.hiphotos.baidu.com%2Fzhidao%2Fpic%2Fitem%2Fb8389b504fc2d56263697b8ce51190ef76c66c6a.jpg";
                String info="C:/photo/6.jpg";
                deEncodeByPath(info);
                //generateQRCodeImage("This is my first QR Code", 350, 350, QR_CODE_IMAGE_PATH);
                //qRCodeCommon("This is my first QR Code", 350, 350);
            } catch (Exception e) {
                System.out.println("Could not generate QR Code, WriterException :: " + e.getMessage());
            }
    
        }
    
    
    }
    

    第三步:在controll层中添加

    @ApiOperation(value = "生成的登录二维码",notes = "生成的登录二维码",httpMethod = "GET")
        @RequestMapping(value = "/proCode",method = RequestMethod.GET)
        public void  createQRCode(HttpServletResponse httpServletResponse)throws Exception{
            HttpServletRequest request=((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
            HttpServletResponse response=((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getResponse();
            System.out.println("生成二维码!");
            //生成唯一ID
            String uuid = request.getParameter("uuid");
            tokes.add(uuid);
            logger.info("uuid=====>"+uuid);
            //二维码内容,在手机上登录的是一个是否在手机上确认登录的地址(在app内)。
            String url=environment.getProperty("mfw.authority.appAffirmurl");
    
            String encoderContent=url+uuid+"?date="+(new Date()).getTime();
    
            logger.info("perfactUrl====>"+encoderContent);
            ByteArrayOutputStream jpegOutputStream = new ByteArrayOutputStream();
            BufferedImage twoDimensionImg = new QRCodeGenerator().qRCodeCommon(encoderContent,350,350);
            ImageIO.write(twoDimensionImg, "jpg", jpegOutputStream);
            response.addHeader("Content-Disposition", "attachment;filename=" + new String((uuid+".jpg").getBytes()));
            byte[] bys = jpegOutputStream.toByteArray();
            response.addHeader("Content-Length", "" + bys.length);
            httpServletResponse.setHeader("Cache-Control", "no-store");
            httpServletResponse.setHeader("Pragma", "no-cache");
            httpServletResponse.setDateHeader("Expires", 0);
            httpServletResponse.setContentType("image/jpeg");
            ServletOutputStream responseOutputStream =
                    httpServletResponse.getOutputStream();
            responseOutputStream.write(bys);
            responseOutputStream.flush();
            responseOutputStream.close();
            websocketModel wm = new websocketModel();
            wm.setType("overdue");
            wm.setUid(uuid);
            myWebSocket.sendInfo(wm,uuid);//向前端发送消息
        }

     

     

     

     

     

     

    参考:提高zxing对二维码的识别率

              zxing 二维码生成深度定制

    展开全文
  • halcon二维码识别和提取二维码数据信息--我用的halcon10,本分算子其他版本可能需要修改。
  • 二维码识别、扫码二维码、扫描二维码

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 76,430
精华内容 30,572
关键字:

二维码在线识别