精华内容
下载资源
问答
  • 二维码怎么解析成代码
    2022-06-15 11:42:41

    1.环境

    mac
    brew install zbar
    pip install pyzbar
    pip install opencv-python
    
    centos8
    yum install zbar-devel
    pip insatll pyzbar

    2.使用

    from pyzbar import pyzbar
    import numpy as np
    import cv2
    
    img_data = cv2.imread("csdn.png")
    # 转为灰度图像
    gray = cv2.cvtColor(img_data, cv2.COLOR_BGR2GRAY)
    barcodes = pyzbar.decode(gray)[0].data.decode("utf-8")# 二维码内容

    3.ImportError: Unable to find zbar shared library
    直接调用系统环境是能执行,但是pycharm虚拟环境报错

    更多相关内容
  • js识别图片二维码解析网址代码是一款上传图片二维码解析网址代码
  • 二维码生成与解析,有源代码。能根据输入的信息生成相应的二维码,还能把二维码解析为具体的信息
  • 二维码解析代码

    2019-03-21 21:02:37
    二维码解析代码,修改编译支持几乎所有二维码解析,强大容错功能
  • QRcode 二维码 解析代码

    热门讨论 2011-11-22 18:14:58
    为了让我一样穷的同志下载到,我转了http://download.csdn.net/download/huangbaoyu/3827730重新压缩体积更小,方便下载 ...QRcode 二维码 解析代码C# 可生成二维码图片,可解析二维码图片,附件为样例程序
  • .版本 2 .子程序 __启动窗口_创建完毕 '添加并使用《精易模块》 Send_API () .子程序 Send_API .局部变量 REQU_Data, 文本型, , , 提交字符串 .局部变量 return, 文本型, , , 返回字符串 ........API_KEY = “UvmkF8

    .版本 2

    .子程序 __启动窗口_创建完毕
    '添加并使用《精易模块》
    Send_API ()

    .子程序 Send_API
    .局部变量 REQU_Data, 文本型, , , 提交字符串
    .局部变量 return, 文本型, , , 返回字符串
    .局部变量 API_URL, 文本型, , , 接口地址
    .局部变量 API_KEY, 文本型, , , 接口密钥

    API_URL = “https://www.maitanbang.com/api/ewmjx/index”
    API_KEY = “UvmkF8vNdyTzCACN5XeMIEzxS2”
    REQU_Data = “&image_url=” + 编码_URL编码(“123”,真,真)
    return = 编码_Utf8到Ansi (网页_访问 (API_URL, 1, “key=” + API_KEY + REQU_Data, , , “User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36”))
    输出调试文本 (return)

     

    展开全文
  • 类库文件我们在文件最后面下载 【ThoughtWorks.QRCode.dll 就是类库】...1.生成二维码 代码如下:QRCodeEncoder qrCodeEncoder = new QRCodeEncoder(); String encoding = cboEncoding.Text; if (encoding == “Byte”)
  • 主要介绍了Android利用ZXing扫描二维码的实例解析,代码简单易懂,非常不错,需要的朋友可以参考下
  • 主要介绍了node 解析图片二维码的内容代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • Java生成、解析二维码方案以及代码实现

    1、POM

            <dependency>
                <groupId>com.google.zxing</groupId>
                <artifactId>core</artifactId>
                <version>3.5.0</version>
            </dependency>
            <dependency>
                <groupId>com.google.zxing</groupId>
                <artifactId>javase</artifactId>
                <version>3.5.0</version>
            </dependency>
    

    2、普通二维码生成

    工具类:

    import com.google.zxing.*;
    import com.google.zxing.common.BitMatrix;
    import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
    
    import java.awt.image.BufferedImage;
    import java.util.HashMap;
    import java.util.Map;
    
    /**
     * 二维码生成工具类
     */
    public class QrCodeUtils {
        /**
         * 二维码尺寸
         */
        private static final int QRCODE_SIZE = 300;
    
        /**
         * 生成二维码
         *
         * @param url 二维码解析后的URL地址
         * @return 图片
         * @throws Exception
         */
        public static BufferedImage getQrLogoCode(String url) throws Exception {
            Map<EncodeHintType, Object> hints = new HashMap<>(8);
            hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
            hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
            hints.put(EncodeHintType.MARGIN, 1);
            BitMatrix bitMatrix = new MultiFormatWriter().encode(url, BarcodeFormat.QR_CODE, QRCODE_SIZE, QRCODE_SIZE, hints);
            int width = bitMatrix.getWidth();
            int height = bitMatrix.getHeight();
            BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
            for (int x = 0; x < width; x++) {
                for (int y = 0; y < height; y++) {
                    // 设置黑白相见的颜色
                    image.setRGB(x, y, bitMatrix.get(x, y) ? 0xFF000000 : 0xFFFFFFFF);
                }
            }
    
            return image;
        }
    }
    

    实现类:

    @RestController
    @RequestMapping("/test")
    @Slf4j
    public class Controller {
        /**
         * 生成二维码
         *
         * @param response
         */
        @GetMapping(value = "/qr")
        public void getQrCodeImage(HttpServletResponse response) {
            try (OutputStream os = response.getOutputStream()) {
                String url = "https://www.baidu.com";
                // 生成二维码对象
                BufferedImage image = QrCodeUtils.getQrLogoCode(url);
                //设置response
                response.setContentType("image/png");
                // 输出jpg格式图片
                ImageIO.write(image, "jpg", os);
    
            } catch (Exception e) {
                e.printStackTrace();
                throw new RuntimeException("二维码生成失败!");
            }
        }
    }
    

    测试:
    地址:http://localhost:10010/test/qr
    在这里插入图片描述

    3、Logo二维码生成

    工具类:

    import com.google.zxing.*;
    import com.google.zxing.common.BitMatrix;
    import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
    
    import javax.imageio.ImageIO;
    import java.awt.*;
    import java.awt.geom.RoundRectangle2D;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import java.util.HashMap;
    import java.util.Map;
    
    /**
     * 二维码生成工具类
     */
    public class QrCodeUtils {
        /**
         * 二维码尺寸
         */
        private static final int QRCODE_SIZE = 300;
        /**
         * LOGO宽度
         */
        private static final int LOGO_WIDTH = 80;
        /**
         * LOGO高度
         */
        private static final int LOGO_HEIGHT = 80;
    
        /**
         * 生成二维码
         *
         * @param url      二维码解析后的URL地址
         * @param logoPath logo地址 如果为空则表示不带logo
         * @return 图片
         * @throws Exception
         */
        public static BufferedImage getQrLogoCode(String url, String logoPath) throws Exception {
            Map<EncodeHintType, Object> hints = new HashMap<>(8);
            hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
            hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
            hints.put(EncodeHintType.MARGIN, 1);
            BitMatrix bitMatrix = new MultiFormatWriter().encode(url, BarcodeFormat.QR_CODE, QRCODE_SIZE, QRCODE_SIZE, hints);
            int width = bitMatrix.getWidth();
            int height = bitMatrix.getHeight();
            BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
            for (int x = 0; x < width; x++) {
                for (int y = 0; y < height; y++) {
                    // 设置黑白相见的颜色
                    image.setRGB(x, y, bitMatrix.get(x, y) ? 0xFF000000 : 0xFFFFFFFF);
                }
            }
            if (logoPath == null || "".equals(logoPath)) {
                return image;
            }
            // 插入图片
            QrCodeUtils.setLogoImage(image, logoPath);
            return image;
        }
    
        /**
         * 插入LOGO
         *
         * @param source   二维码图片
         * @param logoPath LOGO图片地址
         * @throws IOException
         */
        private static void setLogoImage(BufferedImage source, String logoPath) throws Exception {
            Image imageIo = ImageIO.read(new File(logoPath));
            int width = imageIo.getWidth(null);
            int height = imageIo.getHeight(null);
    
            // 设置图片尺寸,如果超过指定大小,则进行响应的缩小
            if (width > LOGO_WIDTH || height > LOGO_HEIGHT) {
                width = LOGO_WIDTH;
                height = LOGO_HEIGHT;
            }
    
            Image image = imageIo.getScaledInstance(width, height, Image.SCALE_SMOOTH);
            BufferedImage tag = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
            Graphics g = tag.getGraphics();
            // 重新绘制Image对象
            g.drawImage(image, 0, 0, null);
            g.dispose();
            imageIo = image;
    
            // 插入LOGO
            Graphics2D graph = source.createGraphics();
            // 设置为居中
            int x = (QRCODE_SIZE - width) / 2;
            int y = (QRCODE_SIZE - height) / 2;
            graph.drawImage(imageIo, x, y, width, height, null);
            Shape shape = new RoundRectangle2D.Float(x, y, width, width, 6, 6);
            graph.setStroke(new BasicStroke(3f));
            graph.draw(shape);
            graph.dispose();
        }
    }
    

    实现类:

    @RestController
    @RequestMapping("/test")
    @Slf4j
    public class Controller {
        /**
         * 生成带logo的二维码
         *
         * @param response
         */
        @GetMapping(value = "/qr/logo")
        public void getQrLogoCodeImage(HttpServletResponse response) {
            try (OutputStream os = response.getOutputStream()) {
                String url = "https://www.baidu.com";
                String logoPath = "C:\\Users\\Desktop\\123.jpg";
                // 生成二维码对象
                BufferedImage image = QrCodeUtils.getQrLogoCode(url, logoPath);
                //设置response
                response.setContentType("image/png");
                // 输出jpg格式图片
                ImageIO.write(image, "jpg", os);
    
            } catch (Exception e) {
                e.printStackTrace();
                throw new RuntimeException("二维码生成失败!");
            }
        }
    }
    

    测试:
    地址:http://localhost:10010/test/qr
    在这里插入图片描述

    4、二维码解析

    工具类:

    import com.google.zxing.*;
    import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
    import com.google.zxing.common.HybridBinarizer;
    
    import javax.imageio.ImageIO;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.InputStream;
    import java.util.HashMap;
    import java.util.Map;
    
    /**
     * 二维码生成工具类
     */
    public class QrCodeUtils {
    
        /**
         * 解析二维码
         *
         * @param inputStream 二维码图片流
         * @return
         * @throws Exception
         */
        public static String decodeQrImage(InputStream inputStream) throws Exception {
            BufferedImage image = ImageIO.read(inputStream);
            if (image == null) {
                return null;
            }
            BufferedImageLuminanceSource source = new BufferedImageLuminanceSource(image);
            BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
            Map<DecodeHintType, Object> hints = new HashMap<>(2);
            hints.put(DecodeHintType.CHARACTER_SET, "UTF-8");
            Result result = new MultiFormatReader().decode(bitmap, hints);
            return result.getText();
        }
    }
    

    实现类:

    @RestController
    @RequestMapping("/test")
    @Slf4j
    public class Controller {
        /**
         * 解析二维码图片,返回字符串
         *
         * @param file
         */
        @PostMapping(value = "/decode")
        public String decodeQrImage(@RequestParam("file") MultipartFile file) {
            try {
                InputStream inputStream = file.getInputStream();
                return QrCodeUtils.decodeQrImage(inputStream);
            } catch (Exception e) {
                e.printStackTrace();
                throw new RuntimeException("二维码解析失败!");
            }
        }
    }
    

    测试:
    使用PostMan进行测试,将生成的二维码上传,可以看到成功返回了url数据
    在这里插入图片描述

    5、完整代码

    工具类:

    import com.google.zxing.*;
    import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
    import com.google.zxing.common.BitMatrix;
    import com.google.zxing.common.HybridBinarizer;
    import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
    
    import javax.imageio.ImageIO;
    import java.awt.*;
    import java.awt.geom.RoundRectangle2D;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.HashMap;
    import java.util.Map;
    
    /**
     * 二维码生成工具类
     */
    public class QrCodeUtils {
        /**
         * 二维码尺寸
         */
        private static final int QRCODE_SIZE = 300;
        /**
         * LOGO宽度
         */
        private static final int LOGO_WIDTH = 80;
        /**
         * LOGO高度
         */
        private static final int LOGO_HEIGHT = 80;
    
        /**
         * 生成二维码
         *
         * @param url      二维码解析后的URL地址
         * @param logoPath logo地址 如果为空则表示不带logo
         * @return 图片
         * @throws Exception
         */
        public static BufferedImage getQrLogoCode(String url, String logoPath) throws Exception {
            Map<EncodeHintType, Object> hints = new HashMap<>(8);
            hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
            hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
            hints.put(EncodeHintType.MARGIN, 1);
            BitMatrix bitMatrix = new MultiFormatWriter().encode(url, BarcodeFormat.QR_CODE, QRCODE_SIZE, QRCODE_SIZE, hints);
            int width = bitMatrix.getWidth();
            int height = bitMatrix.getHeight();
            BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
            for (int x = 0; x < width; x++) {
                for (int y = 0; y < height; y++) {
                    // 设置黑白相见的颜色
                    image.setRGB(x, y, bitMatrix.get(x, y) ? 0xFF000000 : 0xFFFFFFFF);
                }
            }
            if (logoPath == null || "".equals(logoPath)) {
                return image;
            }
            // 插入图片
            QrCodeUtils.setLogoImage(image, logoPath);
            return image;
        }
    
        /**
         * 插入LOGO
         *
         * @param source   二维码图片
         * @param logoPath LOGO图片地址
         * @throws IOException
         */
        private static void setLogoImage(BufferedImage source, String logoPath) throws Exception {
            Image imageIo = ImageIO.read(new File(logoPath));
            int width = imageIo.getWidth(null);
            int height = imageIo.getHeight(null);
    
            // 设置图片尺寸,如果超过指定大小,则进行响应的缩小
            if (width > LOGO_WIDTH || height > LOGO_HEIGHT) {
                width = LOGO_WIDTH;
                height = LOGO_HEIGHT;
            }
    
            Image image = imageIo.getScaledInstance(width, height, Image.SCALE_SMOOTH);
            BufferedImage tag = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
            Graphics g = tag.getGraphics();
            // 重新绘制Image对象
            g.drawImage(image, 0, 0, null);
            g.dispose();
            imageIo = image;
    
            // 插入LOGO
            Graphics2D graph = source.createGraphics();
            // 设置为居中
            int x = (QRCODE_SIZE - width) / 2;
            int y = (QRCODE_SIZE - height) / 2;
            graph.drawImage(imageIo, x, y, width, height, null);
            Shape shape = new RoundRectangle2D.Float(x, y, width, width, 6, 6);
            graph.setStroke(new BasicStroke(3f));
            graph.draw(shape);
            graph.dispose();
        }
    
    
        /**
         * 解析二维码
         *
         * @param inputStream 二维码图片流
         * @return
         * @throws Exception
         */
        public static String decodeQrImage(InputStream inputStream) throws Exception {
            BufferedImage image = ImageIO.read(inputStream);
            if (image == null) {
                return null;
            }
            BufferedImageLuminanceSource source = new BufferedImageLuminanceSource(image);
            BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
            Map<DecodeHintType, Object> hints = new HashMap<>(2);
            hints.put(DecodeHintType.CHARACTER_SET, "UTF-8");
            Result result = new MultiFormatReader().decode(bitmap, hints);
            return result.getText();
        }
    }
    

    实现类:

    @RestController
    @RequestMapping("/test")
    @Slf4j
    public class Controller {
    
        /**
         * 生成二维码
         *
         * @param response
         */
        @GetMapping(value = "/qr")
        public void getQrCodeImage(HttpServletResponse response) {
            try (OutputStream os = response.getOutputStream()) {
                String url = "https://www.baidu.com";
                // 生成二维码对象
                BufferedImage image = QrCodeUtils.getQrLogoCode(url, null);
                //设置response
                response.setContentType("image/png");
                // 输出jpg格式图片
                ImageIO.write(image, "jpg", os);
    
            } catch (Exception e) {
                e.printStackTrace();
                throw new RuntimeException("二维码生成失败!");
            }
        }
    
    
        /**
         * 生成带logo的二维码
         *
         * @param response
         */
        @GetMapping(value = "/qr/logo")
        public void getQrLogoCodeImage(HttpServletResponse response) {
            try (OutputStream os = response.getOutputStream()) {
                String url = "https://www.baidu.com";
                String logoPath = "C:\\Users\\LiGezZ\\Desktop\\123.jpg";
                // 生成二维码对象
                BufferedImage image = QrCodeUtils.getQrLogoCode(url, logoPath);
                //设置response
                response.setContentType("image/png");
                // 输出jpg格式图片
                ImageIO.write(image, "jpg", os);
    
            } catch (Exception e) {
                e.printStackTrace();
                throw new RuntimeException("二维码生成失败!");
            }
        }
    
        /**
         * 解析二维码图片,返回字符串
         *
         * @param file
         */
        @PostMapping(value = "/decode")
        public String decodeQrImage(@RequestParam("file") MultipartFile file) {
            try {
                InputStream inputStream = file.getInputStream();
                return QrCodeUtils.decodeQrImage(inputStream);
            } catch (Exception e) {
                e.printStackTrace();
                throw new RuntimeException("二维码解析失败!");
            }
        }
    }
    
    展开全文
  • js识别图片二维码解析网址代码

    千次阅读 2019-02-12 16:03:48
    下载analysis-qrcode.js &lt;input type="file" id="input"&gt; &lt;button id="button"&gt;获取内容&lt;/button&gt; &lt;!--引入js文件--&...=

    下载analysis-qrcode.js

            <input type="file" id="input">
            <button id="button">获取内容</button>
            <!--引入js文件-->
            <script src="<?= PublicUtil::URL('@web/js/qrcode/analysis-qrcode.js')?>"></script>
            <script type="text/javascript">
    
                //获取预览图片路径
                var getObjectURL = function(file){
                    var url = null ;
                    if (window.createObjectURL!=undefined) { // basic
                        url = window.createObjectURL(file) ;
                    } else if (window.URL!=undefined) { // mozilla(firefox)
                        url = window.URL.createObjectURL(file) ;
                    } else if (window.webkitURL!=undefined) { // webkit or chrome
                        url = window.webkitURL.createObjectURL(file) ;
                    }
                    return url ;
                };
    
                $("#button").click(function () {
                    var content = document.getElementById("input").files[0];
                    qrcode.decode(getObjectURL(content));
                    qrcode.callback = function(imgMsg){
                        alert(imgMsg);
                    };
                });
            </script>
    展开全文
  • js识别图片二维码解析网址代码是一款上传图片二维码解析网址代码
  • 二维码创建解析代码

    2012-08-22 16:42:36
    二维码创建解析代码,和标题一样,只有创建和解析两组代码而已
  • 一个技术选型小实例,用上两个Data Matrix二维码解析库。 实例操作方法: 1. 运行程序 2.点Image File选一个有Data Matrix二维码的图片 3.在右边的Picture Box选择二维码范围区域 4. 分别有两个Read来解析二维码,...
  • QRCodeUtils使用文档详见博客https://blog.csdn.net/qq_24091555/article/details/81263472
  • Java代码实现二维码生成与解析.pdf
  • 全源代码,免费、无限制,调用电脑摄象头扫描二维码; 网上找了一堆,要不就是部份代码,要不就是收费;本人研究了几天,写了一个实例,共享给大家,忘大家相互学习。谢谢
  • NULL 博文链接:https://tcw290.iteye.com/blog/1831864
  • 代码是基于二维码识别的python代码,将视频中的二维码识别的数据进行解析,并在屏幕上面打印出来,并解析成为坐标的形式,最后由于要控制步进电机进行相应的操作,因此在解析之后并把坐标转换成为数控编码的...
  • pom文件引入google 二维码工具包依赖 <!-- 二维码 --> <dependency> <groupId>com.google.zxing</groupId> <...java生成二维码图片和解析二维码图片内容代码..
  • js解析二维码

    2019-02-12 16:05:34
    该js文件用于js识别图片二维码解析网址代码,解析二维码方法请看:https://blog.csdn.net/qq_31150171/article/details/87094177
  • Java实现二维码生成和解析.zip,Java实现二维码生成和解析,QcodeManager.java,MatrixToImageWriter.java,zxing-core-2.3.0.jar,BufferedImageLuminanceSource.java
  • 用VBA语言生成二维码
  • 二维码生成原理及解析代码

    万次阅读 多人点赞 2019-06-14 17:33:39
    这里秉着好奇心,研究一下二维码的生成,并尝试性写一个二维码解析源码。 一. 二维码基本知识 二维码另一个名称是QR Code(Quick Response Code),近年来在移动设备上经常使用,与传统条形码相比,可以存储更多的...
  • Android代码-生成二维码和从图片解析二维码库.zip,QrCardParsing-master,gradlew,settings.gradle,img,social,linkedin-icon.png,screen.png,License,library,src,main,AndroidManifest.xml,res,values,library_...
  • 用Java代码实现二维码的生成与解析,自己制作二维码
  • java二维码生成与解析源码内含核心包文件QRCode.jar。 二维码的特点: 1. 高密度编码,信息容量大 可容纳多达1850个大写字母或2710个数字或1108个字节,或500多个汉字,比普通条码信息容量约高几十倍。 2. 编码...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 34,902
精华内容 13,960
热门标签
关键字:

二维码怎么解析成代码