最近在研究二维码识别,看了很多博客,学到了许多,这里就不一一发出链接了CSDN中一搜一堆,我第一次用手机发博,不太会用,就简单发个近两天研究总结,虽然两天就搞出来了,但是感觉水分很大。直接上代码和视频效果吧

咦~不能上传视频,那就发个截图吧。
咦,文件也无法上传,回弄了之后再补链接。第一次发分享贴就要免费开源,大家一起学习哈。

-------------------分嗝符--------------------嗝~----------------------

充满元气的一天,可以在电脑继续编辑博客了

首先挑几个重点的说一哈把,在pro里要包含红框部分的内容,一个是摄像头的,一个是二维码识别的

其次呢~ camera.h

#ifndef CAMERA_H
#define CAMERA_H#include <QWidget>
#include "mainwindow.h"
#include <QCamera>
#include <QCameraViewfinder>
#include <QCameraImageCapture>
#include <QImage>
#include <QFileDialog>namespace Ui {
class camera;
}class camera : public QWidget
{Q_OBJECTpublic:explicit camera(QWidget *parent = 0);~camera();private slots:void on_pushButton_clicked();void timeSlot();void displayImage(int id, QImage image);void on_pushButton_2_clicked();private:Ui::camera *ui;QCameraImageCapture *QCameraImg;QCamera *my_cam;};#endif // CAMERA_H

在主次呢~camera.cpp

#include "camera.h"
#include "ui_camera.h"
#include <QZXing.h>
QTimer *timer2;
camera::camera(QWidget *parent) :QWidget(parent),ui(new Ui::camera)
{ui->setupUi(this);timer2 = new QTimer(this);connect(timer2, SIGNAL(timeout()), this, SLOT(timeSlot()));//连接时间刷新函数timer2->start(10);/*QString m_fileName="D:/QT/secretJL/software/SmartMemory/1111.png";QImage img;        //加载图像if(!(img.load(m_fileName))){QMessageBox::information(this,tr("打开图像失败"),tr("打开图像失败!"));return;}img = img.scaled(ui->label_image->width(),ui->label_image->height(),Qt::KeepAspectRatio);ui->label_image ->setPixmap(QPixmap::fromImage(img));
*/my_cam = new QCamera(this);//添加显示界面my_cam->setCaptureMode(QCamera::CaptureVideo);//设置摄像头捕获模式//my_cam->setViewfinder(ui->widget);//设置取景器my_cam->start();//启动摄像头QCameraImg = new QCameraImageCapture(my_cam);//截取图像QObject::connect(QCameraImg, &QCameraImageCapture::imageCaptured, this, &camera::displayImage);//触发的信号为}void camera::displayImage(int id, QImage image)
{image = image.scaled(ui->label_image->width(),ui->label_image->height(),Qt::KeepAspectRatio);ui->label_image->setPixmap(QPixmap::fromImage(image));//将捕获的图片映射到label中QDateTime qtimeObj = QDateTime::currentDateTime();QZXing decode;QString str = decode.decodeImage(image);if(str.isEmpty()==false){ui->lineEdit->setText(str);timer2->stop();//my_cam->stop();}elseui->lineEdit->setText(tr("未识别到条形码图片!%1").arg(qtimeObj.toString("yyyyMMddhhmmsszzz")));
}
void camera::on_pushButton_2_clicked()
{/*拍照按钮槽*/my_cam->start();//启动摄像头timer2->start(10);QCameraImg->capture();//拍照获取一帧
}/*保存照片*/
/*
void camera::on_pushButton_3_clicked()
{QCameraImg->capture();//拍照获取一帧const QPixmap *pixmap = ui->label_image->pixmap();if(pixmap)pixmap->save("D:\\img.png");elseqDebug()<<"qwe";
}
*/camera::~camera()
{delete ui;
}
//时间显示回调函数
void camera::timeSlot()
{QCameraImg->capture();//拍照获取一帧
}
void camera::on_pushButton_clicked()
{QString m_fileName;m_fileName = QFileDialog::getOpenFileName(this,tr("条形码打开文件"),"./",tr("任何文件(*.*)"";;文本文件(*.png)"));qDebug()<<m_fileName;if(m_fileName.isEmpty() == false){//ui->statusBar->setToolTip(m_fileName);QImage img;        //加载图像if(!(img.load(m_fileName))){QMessageBox::information(this,tr("打开图像失败"),tr("打开图像失败!"));return;}img = img.scaled(ui->label_image->width(),ui->label_image->height(),Qt::KeepAspectRatio);ui->label_image ->setPixmap(QPixmap::fromImage(img));QZXing decode;QString str = decode.decodeImage(img);if(str.isEmpty()==false)ui->lineEdit->setText(str);elseui->lineEdit->setText("未识别到条形码图片!");}}

然后程序就完毕了,效果如下

啥也么有,放个手机qq码把,鸡贼的小伙伴可以趁机加扣扣一起讨论噢

在放个对比图吧,一个是在某位大博主那里下载的二维码扫面器,一个是自己这个简易软件识别的,结果一模一样哦

目前发现我这个缺点就是不能 识别出条形码的编码格式,只能之别二维码,而大博的二维码扫描器却可以都识别,同样都是QZXing,难道这就是新手与大鸟的差距,不行不行,找时间给补上,然后在更新出来吧。

附上我的工程文件,大博的二维码扫描器就不发了,毕竟人家44币呢

文件下载链接  htts://download.csdn.net/download/qq_37603131/11105906

qt在window实现二维码识别相关推荐

  1. qt在window实现调取本机摄像头或者外设摄像头二维码识别升级版

    之前发过一个帖子,后来发现有很多bug,不得已又研究了几天, 升级了这一版本,比之前好多了,bug也完美解决,但只是在我应用上解决,相对于大多数人来说还是未知的,看你们个人需求,希望能帮助到你们.话不 ...

  2. Jetson nano 摄像头二维码识别 Opencv zbar QT

    环境以及前言 环境 jetson nano Linux ubuntu 18.4 QT版本 QT5.98 摄像头 Csi摄像头 Opencv Jetson nano 自带的-.- 应该是4.1?不太清楚 ...

  3. Python基于pyzbar、opencv、pyqt5库,实现二维码识别 gui 应用程序开发

    二维码组成结构基本介绍 二维码识别背景介绍 视觉的方法可以用来估计位置和姿态.最容易想到的是在目标上布置多个容易识别的特征,这样使用opencv相机标定和.相机畸变矫正.轮廓提取.solvepnp来获 ...

  4. Halcon一维码和二维码识别

    Halcon一维码和二维码识别 一.Halcon一维码识别 二.Halcon二维码识别 一.Halcon一维码识别 1.一维码的识别过程: (1).创建条码模型create_bar_code_mode ...

  5. 前端html实现二维码识别

    一.html代码 <!DOCTYPE html> <html><head><meta charset="utf-8"><met ...

  6. halcon二维码识别简单案例

    目录 二维码种类 ​编辑 halcon 二维码识别调用算子步骤 1.创建模型--create_data_code_2d_model( SymbolType, GenParamName, GenPara ...

  7. 基于halcon的简易二维码识别

    二维码识别 原图 代码 结果 原图 代码 dev_update_off () dev_close_window () read_image (Image, '111.png') get_image_s ...

  8. Opencv+Zbar二维码识别(二维码校正)

    二维码和车牌识别基本都会涉及到图像的校正,主要是形变和倾斜角度的校正,一种二维码的畸变如下图: 这个码用微信扫了一下,识别不出来,但是用Zbar还是可以准确识别的~~. 这里介绍一种二维码校正方法,通 ...

  9. Halcon 二维码识别QR

    图片资料 链接:https://pan.baidu.com/s/1JSl0mIWW_IvRacywpp4hHg 提取码:93mf 二维码识别过程 1.创建二维码模型 create_data_code_ ...

  10. halcon例程学习 一维码、二维码识别

    1.一维条码 一维条码:由一组规则排列的条.空以及对应的字符组成的标记,"条"指对光线反射率较低的部分,"空"指对光线反射率较高的部分,这些条和空组成的数据表达 ...

最新文章

  1. 走过2010,期盼2011!
  2. 大数据学习——Storm集群搭建
  3. boost::fusion::find用法的测试程序
  4. 剑指offer58-||.左旋转字符串
  5. 2021年6月3日,SAP 全球蓝宝石大会将在线上盛大启幕
  6. 如何保证交叉表编译器和目标系统版本一致_嵌入式系统词汇表
  7. 机器学习笔记——随机森林
  8. iptables time 时间匹配规则
  9. 移动终端如何远程接入企业的核心系统?
  10. nettry 入站事件如何传递到下一个handler
  11. Struts2 result type(结果类型)
  12. 32、剑指offer--把数组排成最小的数
  13. 帮助小姐姐破解加密压缩包(一)——暴力破解字典生成
  14. xshell4的使用经验
  15. 开源ext2read代码走读之--“\\\\.\\PhysicalDrive0”意义?
  16. APP导航菜单系列Axure模板原型
  17. cad命令栏还原默认_CAD命令行不见了怎么重新恢复?
  18. python计算图形面积的方法,python实现计算图形面积
  19. 复现awvs——POODLE 攻击(带 CBC 密码套件的 SSLv3—CVE-2014-3566)
  20. SerDes结构之发送端前馈均衡技术(FFE)

热门文章

  1. js禁止输入框输入特殊符号或emoji表情
  2. 《把时间当做朋友》读书摘记
  3. java 水晶按钮图片_JAVA GUI 开发---水晶图片按钮
  4. MobaXterm复制粘贴快捷键
  5. 承认你的父母其实不那么爱你
  6. 小米、Vivo、Oppo后台弹出界面和锁屏权限检测
  7. 被认为是世界史上50个最伟大的发明有哪些?
  8. 双非本科生进大厂,而我还在底层默默地爬树(上)
  9. Babel转码器安装及使用
  10. C++代码实现图片调色