这个程序主要用zbar解码库来解析二维码的,ZBar是一个开源软件套件,用于从各种来源读取条形码,例如视频流,图像文件和原始强度传感器。 它支持许多流行的符号(条形码类型),包括EAN-13 / UPC-A,UPC-E,EAN-8,Code 128,Code 39,Interleaved 2 of 5和QR Code。
这里用电脑自带的WebCam采集图像,并对每一帧都进行识别,然后检测到码信息时将其写入到当前目录下的文件中方便观察,请看代码:

#include "zbar.h"
#include "cv.h"
#include "highgui.h"
#include "iostream"
#include "fstream"using namespace std;
using namespace zbar;  //添加zbar名称空间
using namespace cv;int main(int argc, char*argv[])
{VideoCapture VC(0);while (true){ImageScanner scanner;scanner.set_config(ZBAR_NONE, ZBAR_CFG_ENABLE, 1);Mat image;VC.read(image);imshow("Source Image", image);if (!image.data){cout << "请确认摄像头正确采集" << endl;system("pause");return 0;}Mat imageGray;cvtColor(image, imageGray, CV_RGB2GRAY);int width = imageGray.cols;int height = imageGray.rows;uchar *raw = (uchar *)imageGray.data;Image imageZbar(width, height, "Y800", raw, width * height);scanner.scan(imageZbar); //扫描条码      Image::SymbolIterator symbol = imageZbar.symbol_begin();if (imageZbar.symbol_begin() == imageZbar.symbol_end()){cout << "查询条码失败,请检查图片!" << endl;}else {for (; symbol != imageZbar.symbol_end(); ++symbol){cout << "类型:" << endl << symbol->get_type_name() << endl << endl;cout << "条码:" << endl << symbol->get_data() << endl << endl;//将检测的结果写到result.txt中方便查阅,追加方式写入的,ofstream fout("result.txt", ios::app);fout << "类型:" << symbol->get_type_name() << endl << "条码:" << symbol->get_data() << endl<<endl;fout.close();int key = cvWaitKey();if (key == 27) return 0;}}imageZbar.set_data(NULL, 0);int key = cvWaitKey(100);if (key == 27) return 0;}waitKey();return 0;
}

首先要去官网下载ZBar 0.10 Windows installer,然后将其库安装本地,将zbar/bin目录添加到系统的环境变量,然后将zbar/lib添加到VS的项目/属性/VC++目录/包含目录下,将zbar/include 添加到VC++目录/库目录下,在链接器-输入中添加libzbar-0.lib ,完工,运行代码试试吧!

电脑摄像头识别二维码OpenCV程序相关推荐

  1. 使用电脑摄像头识别二维码

    要想摄像头识别二维码,需要两个基本功能:1.从摄像头获取图像,2.根据图片解析出二维码信息.在上一篇java摄像头截图已经实现了摄像头截图,只要再加上zxing(或其它能从图片中解析二维码的组件),就 ...

  2. python+opencv制作电脑摄像头扫描二维码并自动打开

    在生活中我们有时候会遇到用电脑扫描更方便的情形,但是奈何现在的电脑程序都没有提供扫描二维码的功能,所以我花了半天的时间专门做了一个电脑扫描二维码程序. 实现目标:利用电脑摄像头识别二维码中的内容并自动 ...

  3. opencv之调用摄像头动态识别二维码

    结合前几篇做的工作,实现一下动态识别二维码 opencv之调用摄像头动态识别二维码

  4. C++利用OpenCV识别二维码QRCode

    引子 项目需要用到C++进行二维码识别,虽然手机上随便扫码就可以轻易识别出来,但是到了电脑上可就没有那么方便了. 我要做的是能够一下子把一张图片上的几十个二维码一下子识别出来,如果成功的话,那岂不是比 ...

  5. Python用opencv实现动态识别二维码,以及加强版Python GUI(图像用户界面编程)

    前言 关于动态识别二维码信息,利用电脑摄像头动态扫描二维码,扫描视频中的二维码. 简易程序 import cv2 pip install opencv-pythondef start():captur ...

  6. python摄像头识别二维码_python使用pyzbar+opencv实现实时识别二维码--李渣渣(lizaza.cn)...

    写东西就要写全面,前两天写了如何用python生成二维码,今天博主就给大家介绍一个识别二维码的方法. 1.安装本次开发所需要的库opencv 和pyzbar pip install pyzbar pi ...

  7. 微信小程序文字链接生成二维码,扫描识别二维码

    给大家推荐一个非常实用且有趣的微信小程序:超实用工具箱. 超实用工具箱小程序里面包含了很多小工具,涵盖了工作.日常生活和娱乐版块.具体的功能大家可以打开微信扫描下方二维码,即刻体验: 接下来给大家介绍 ...

  8. 小程序内识别二维码调查

    1.添加image标签的show-menu-by-longpress属性,可以长按识别名片/前往群聊/打开小程序.需要是小程序的二维码或者公众号的二维码,因为我们的二维码是一个第三方网站的,所以长按后 ...

  9. 微信小程序识别二维码功能

    在微信8.0版本之前可以使用: 微信小程序里长按识别二维码 此文章中的方法实现小程序中识别二维码. 微信8.0及以后的版本中不再支持此功能: 只支持如下描述: web-view组件内嵌普通H5只支持识 ...

最新文章

  1. android mac测试地址,android获取有线网的Mac地址
  2. Python Numpy多维数组.sum(axis=0/1/2...) 详解
  3. react 引入轮播插件_React.js实现轮播图
  4. 老电脑linux内核,如何删除废旧的Linux内核(kernel)
  5. Exchange 2007升级exchange 2010
  6. Hinton领衔谷歌大脑新研究,拯救被认成步枪的乌龟
  7. Java线程 生产者--消费者模式总结(一)
  8. 计算机组成原理课后答案(唐朔飞第三版) 第二章
  9. animate inater插件_maya插件管理器(Plug-in Manager),MAYA
  10. 模仿作业帮、猿题库搜题功能(包含图片文字识别)
  11. Java设计模式 -8- 适配器模式(Adapter模式)
  12. 小米盒子服务器无信号,小米小盒子连接HDMI无信号怎么办?
  13. Table is marked as crashed and should be repaire 解决方法
  14. 数据库系统概论(高级篇)
  15. 两军问题和拜占庭将军问题的区块链解读(一)
  16. 中国K12在线教育用户消费行为报告
  17. 基于STM32和ESP8266的天气预报系统
  18. 图解:为什么总有人能“躺着”挣钱?
  19. xshell卸载不干净导致无法安装
  20. 【<HTTP专题>】

热门文章

  1. obs 推流编码在哪设置_浮动课堂 | 讲讲OBS直播软件的简单设置
  2. 八字易经算法之用JAVA实现排八字神煞
  3. 【Sass初级】嵌套选择器规则
  4. 自定义模型tensorboard画图命令报错 assert error assert isinstance(orig, torch.nn.Module)
  5. 安装常见的错误及解决方法(记录)
  6. Docker Linux下安装配置及启动
  7. 康拓普:大屏、VR、网页…..数据可视化有哪些应用场景?
  8. scratch编程神笔马良
  9. 树莓派烧写OpenWrt系统后外接华为ME909或移远EC20 4G LTE模块实现4G软路由即MiFi
  10. 国科大《模式识别》课程总结