二维码解码器Zbar+VS2010开发环境配置

发现ImageMagick只是用来打开图片,转换成统一的灰度矩阵数据。所以这次我尝试用OpenCV来实现ImageMagick的功能。

1、删除工程属性中ImageMagick的相关设置,增加OpenCV的设置。

2、安装完成后,到安装目录,将bin目录加入环境变量,在VS中VC++目录的include中加入头文件地址,lib地址,并加入lib名称(连接器-输入-附加依赖项),然后就可以使用了,具体使用查看下面的代码。

结果如下:首先我们的库文件在D:\Program Files\ZBar目录下

首先安装ZBar v0.10,然后其安装目录为D:\Program Files\ZBar。

所以,我们的库文件在D:\Program Files\ZBar目录下

在VC++目录->包含目录里添加1个目录: D:\ProgramFilesD\ZBar\include

选择VC++目录->库目录:

在库目录里添加1个目录: D:\ProgramFilesD\ZBar\lib

输入目录配置

打开通用属性->链接器->输入:

在附加依赖项里添加1个依赖项:libzbar-0.lib

环境变量配置:

添加Zbar的动态库所在目录:D:\ProgramFilesD\ZBar\bin;  添加之后系统就不会找不到需要的dll文件了。

 环境测试  

(此处代码参考别人的微博)

#include "zbar.h"
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace zbar;  //添加zbar名称空间
using namespace cv;    

int main(void)
{
    ImageScanner scanner;
    scanner.set_config(ZBAR_NONE, ZBAR_CFG_ENABLE, 1);
    //  等待用户输入完整条形码/二维码路径+名称,把图片直接拖入窗口即可
    char file[256];
    cin>>file;
    Mat img = imread(file,0);
    //Mat img=imread("www.baidu.com.png",0);
    Mat imgout;
    cvtColor(img,imgout,CV_GRAY2RGB);
    int width = img.cols;
    int height = img.rows;
    uchar *raw = (uchar *)img.data;
    Image image(width, height, "Y800", raw, width * height);
    int n = scanner.scan(image);
    for(Image::SymbolIterator symbol = image.symbol_begin();symbol != image.symbol_end();symbol++)
    {
        vector<Point> vp;
        cout<<"Decoded:"<<endl<<symbol->get_type_name()<<endl<<endl;
        cout<<"Symbol:"<<endl<<symbol->get_data()<<endl<<endl;
        int n = symbol->get_location_size();
        for(int i=0;i<n;i++)
        {
            vp.push_back(Point(symbol->get_location_x(i),symbol->get_location_y(i)));
        }
        RotatedRect r = minAreaRect(vp);
        Point2f pts[4];
        r.points(pts);
        Point textPoint(pts[1]);
        string codeNum=symbol->get_data();
        for(int i=0;i<4;i++)
        {
            line(imgout,pts[i],pts[(i+1)%4],Scalar(255,0,0),3);
            //查找条码区域左上角坐标
            textPoint.x>=pts[i].x?textPoint.x=pts[i].x:textPoint.x=textPoint.x;
            textPoint.y>=pts[i].y?textPoint.y=pts[i].y:textPoint.y=textPoint.y;
            //在图片上输出解码内容
            putText(imgout,codeNum,textPoint,FONT_HERSHEY_COMPLEX,1,Scalar(0,0,255),1,8,false);
        }
        cout<<"Angle: "<<r.angle<<endl;
    }
    imshow("imgout.jpg",imgout);
    waitKey();
}   

运行之后,弹出控制台窗口,把带有二维码的图片拖入后回车,效果如下:

二维码解码器Zbar+VS2010开发环境配置相关推荐

  1. 二维码解码器Zbar+VS2010开发环境配置(使用opencv库)

    Zbar条码解码器是一个开源的二维码(包括条形码)解码器,可以识别来至于视频流,图像文件.手持扫码器和视频设备(如摄像头)等二维码识别,支持EAN-13/UPC-A, UPC-E, EAN-8, Co ...

  2. 二维码解码器Zbar+VS2012开发环境配置

    Zbar条码解码器是一个开源的二维码(包括条形码)解码器,可以识别来至于视频流,图像文件.手持扫码器和视频设备(如摄像头)等二维码识别,支持EAN-13/UPC-A, UPC-E, EAN-8, Co ...

  3. 二维码解码器Zbar 的配置和基本使用

    Zbar解码器是一个开源的二维码(包括条形码)解码器,可以识别来至于视频流,图像文件.手持扫码器和视频设备(如摄像头)等二维码识别,支持EAN-13/UPC-A, UPC-E, EAN-8, Code ...

  4. vue 二维码解码器

    本篇是二维码解码器, 生成二维码教程请看另一篇 https://blog.csdn.net/qq_37816525/article/details/97928960 首先安装 qrcode-decod ...

  5. vue二维码解码器(增加上传二维码之后弹窗预览)

    对之前的二维码解码器做的功能扩展, 增加上传成功时弹框显示二维码图片预览,弹框使用vant ui 实现 vanr ui 文档地址 https://youzan.github.io/vant/#/zh- ...

  6. PHP、JavaScript 二维码解码器, 识别二维码

    Javascript 二维码解码器 代码下载链接:https://download.csdn.net/download/supramolecular/15901268 <!DOCTYPE htm ...

  7. iOS 扫描二维码自动打开灯 检测环境光线强度

    扫描二维码自动打开灯 检测环境光线强度,做的不太好,打开灯了没有关闭,后期优化可以打开关闭的代码,并且加一个定时器时间间隔(例如10秒左右)来控制是否改变灯的状态,否则灯会随着光线闪来闪去的.最简单 ...

  8. 安装OpenCV +VS2010 开发环境配置

    目录(?)[-] 2014年4月28更新OpenCV 249的配置 2014年9月12更新OpenCV 30的配置 因为读研期间的研究方向是图像处理所以浅墨这段时间闭门研究了很多OpenCV和图像处理 ...

  9. 沁恒CH32V003(二): Ubuntu20.04 MRS和Makefile开发环境配置

    目录 沁恒CH32V003(一): CH32V003F4P6开发板上手报告和Win10环境配置 沁恒CH32V003(二): Ubuntu20.04 MRS和Makefile开发环境配置 硬件准备 沁 ...

最新文章

  1. Flash Builder 4 安装ANT插件
  2. hdu5105给你一个方程,让你求极值(直接暴力)
  3. Mysql数据库开发的36条原则
  4. jboss7(01)服务器开启和关闭命令
  5. 微服务分布式架构中,如何实现日志链路跟踪
  6. count(1)与count(id)与count(*)效率,以及覆盖索引,索引下推
  7. mysql 5.7.16安装与给远程连接权限
  8. 查看Android设备的分辨率
  9. Java异常处理之------Java方法中throws Exception使用案例!什么情况下使用throws Exception?...
  10. spark数据查询语句select_Spark学习之Spark SQL
  11. 《沃顿商学院谈判课》读书笔记
  12. python transforms_pytorch中的transforms模块实例详解
  13. 美国文件服务器,raksmart美国服务器_新闻中心
  14. 网页禁用crtl +s按钮和禁用右键
  15. 黑马程序员---网络编程
  16. Python爬虫模拟登录京东获取个人信息
  17. 《惯性导航》第二版秦永元 知识点总结之一 《第一章 绪论》
  18. 翻译图片的软件有哪些?
  19. CSS水平垂直居中常见方法总结
  20. 头肩模拟器在免提或头戴式终端测试中的应用

热门文章

  1. word中图片为嵌入式格式时显示不全_打印Word图片显示不全 Word2007图片显示不全解决方法...
  2. Java:集合类性能分析
  3. 关于某日头条_signature参数逆向生成纯补环境
  4. 如何从GitHub上下载一个项目中的单个文件或者子文件夹
  5. R语言实现聚类kmeans
  6. 2020诺贝尔文学奖得主,死亡的诗歌
  7. Samael对决Lucifer!!! ……Dean的任务真相……
  8. 电脑微信多开营销号养成技术详细教程
  9. html5 tooltip,HTML5 教程之CSS 提示工具(Tooltip)
  10. 通达信指标转python_通达信转python