二维码zxing-Cpp+qt5.9中的使用

本文介绍了如何在Qt5.9项目中整合zxing-cpp库,用于读取和识别二维码。首先,介绍了zxing-cpp库的基本功能和下载地址,接着详细说明了将源码集成到Qt工程的过程,包括添加源文件和配置路径。最后,展示了使用示例,包括创建二值化图像和通过MultiFormatReader进行解码。
摘要由CSDN通过智能技术生成

二维码zxing-Cpp+qt5.9中的使用

 

  • Zxing-cpp的简介

 

zxing-cpp是一套加解二维码条形码的库,此库是zxing的c++版,在识别率和识别速度上都是比较快的。

此库在持续的更新中,下载地址:https://github.com/nu-book/zxing-cpp

 

  • Zxing-cpp的使用实例

本次使用的是zxing-cpp的源码,应用到qt5.9的工程中,把源码下载下来,取目录:zxing-cpp-master\core\src,这是所有的源码都在这个里面,把src命名为zxing,添加INCLUDEPATH += $$PWD/zxing,添加所有的源文件到pro工程中,我使用了opencv,稍后的源码所有东西上传。如下工程pro文件

工程文件.pro

 

#-------------------------------------------------

#

# Project created by QtCreator 2020-05-18T15:10:28

#

#-------------------------------------------------

 

QT       += core gui

 

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

 

TARGET = TestBarQRCode

TEMPLATE = app

 

# The following define makes your compiler emit warnings if you use

# any feature of Qt which has been marked as deprecated (the exact warnings

# depend on your compiler). Please consult the documentation of the

# deprecated API in order to know how to port your code away from it.

DEFINES += QT_DEPRECATED_WARNINGS

 

# You can also make your code fail to compile if you use deprecated APIs.

# In order to do so, uncomment the following line.

# You can also select to disable deprecated APIs only up to a certain version of Qt.

#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

 

CONFIG += c++11

 

INCLUDEPATH += $$PWD/zxing

#INCLUDEPATH += $$PWD/zxing/qrcode

INCLUDEPATH += $$PWD/opencv

LIBS += -L$$PWD/opencv/lib -lopencv_core345 -lopencv_imgcodecs345 -lopencv_imgproc345 -lopencv_dnn345 -lopencv_highgui345

 

SOURCES += \

        main.cpp \

        mainwindow.cpp \

    quickresponsecode.cpp \

    zxing/qrcode/QRAlignmentPattern.cpp \

    zxing/qrcode/QRAlignmentPatternFinder.cpp \

    zxing/qrcode/QRBitMatrixParser.cpp \

    zxing/qrcode/QRCodecMode.cpp \

    zxing/qrcode/QRDataBlock.cpp \

    zxing/qrcode/QRDataMask.cpp \

    zxing/qrcode/QRDecoder.cpp \

    zxing/qrcode/QRDetector.cpp \

    zxing/qrcode/QREncoder.cpp \

    zxing/qrcode/QRErrorCorrectionLevel.cpp \

    zxing/qrcode/QRFinderPattern.cpp \

    zxing/qrcode/QRFinderPatternFinder.cpp \

    zxing/qrcode/QRFormatInformation.cpp \

    zxing/qrcode/QRMaskUtil.cpp \

    zxing/qrcode/QRMatrixUtil.cpp \

    zxing/qrcode/QRReader.cpp \

    zxing/qrcode/QRVersion.cpp \

    zxing/qrcode/QRWriter.cpp \

    zxing/BarcodeFormat.cpp \

    zxing/BitArray.cpp \

    zxing/BitMatrix.cpp \

    zxing/BitSource.cpp \

    zxing/CharacterSetECI.cpp \

    zxing/DecodeHints.cpp \

    zxing/DecodeStatus.cpp \

    zxing/GenericGF.cpp \

    zxing/GenericGFPoly.cpp \

    zxing/GenericLuminanceSource.cpp \

    zxing/GlobalHistogramBinarizer.cpp \

    zxing/GridSampler.cpp \

    zxing/HybridBinarizer.cpp \

    zxing/LuminanceSource.cpp \

    zxing/MultiFormatReader.cpp \

    zxing/MultiFormatWriter.cpp \

    zxing/PerspectiveTransform.cpp \

    zxing/ReadBarcode.cpp \

    zxing/ReedSolomonDecoder.cpp \

    zxing/ReedSolomonEncoder.cpp \

    zxing/Result.cpp \

    zxing/ResultMetadata.cpp \

    zxing/ResultPoint.cpp \

    zxing/TextDecoder.cpp \

    zxing/TextEncoder.cpp \

    zxing/TextUtfEncoding.cpp \

    zxing/WhiteRectDetector.cpp \

    zxing/ZXBigInteger.cpp \

    zxing/aztec/AZDecoder.cpp \

    zxing/aztec/AZDetector.cpp \

    zxing/aztec/AZEncoder.cpp \

    zxing/aztec/AZHighLevelEncoder.cpp \

    zxing/aztec/AZReader.cpp \

    zxing/aztec/AZToken.cpp \

    zxing/aztec/AZWriter.cpp \

    zxing/maxicode/MCBitMatrixParser.cpp \

    zxing/maxicode/MCDecoder.cpp \

    zxing/maxicode/MCReader.cpp \

    zxing/oned/ODCodabarReader.cpp \

    zxing/oned/ODCodabarWriter.cpp \

    zxing/oned/ODCode39Reader.cpp \

    zxing/oned/ODCode39Writer.cpp \

    zxing/oned/ODCode93Reader.cpp \

    zxing/oned/ODCode93Writer.cpp \

    zxing/oned/ODCode128Patterns.cpp \

    zxing/oned/ODCode128Reader.cpp \

    zxing/oned/ODCode128Writer.cpp \

    zxing/oned/ODEAN8Reader.cpp \

    zxing/oned/ODEAN8Writer.cpp \

    zxing/oned/ODEAN13Reader.cpp \

    zxing/oned/ODEAN13Writer.cpp \

    zxing/oned/ODEANManufacturerOrgSupport.cpp \

    zxing/oned/ODITFReader.cpp \

    zxing/oned/ODITFWriter.cpp \

    zxing/oned/ODMultiUPCEANReader.cpp \

    zxing/oned/ODReader.cpp \

    zxing/oned/ODRowReader.cpp \

    zxing/oned/ODRSS14Reader.cpp \

    zxing/oned/ODRSSExpandedReader.cpp \

    zxing/oned/ODUPCAReader.cpp \

    zxing/oned/ODUPCAWriter.cpp \

    zxing/oned/ODUPCEANCommon.cpp \

    zxing/oned/ODUPCEANExtensionSupport.cpp \

    zxing/oned/ODUPCEANReader.cpp \

    zxing/oned/ODUPCEReader.cpp \

    zxing/oned/ODUPCEWriter.cpp \

    zxing/oned/ODWriterHelper.cpp \

    zxing/pdf417/PDFBarcodeValue.cpp \

    zxing/pdf417/PDFBoundingBox.cpp \

    zxing/pdf417/PDFCodewordDecoder.cpp \

    zxing/pdf417/PDFDecodedBitStreamParser.cpp \

    zxing/pdf417/PDFDetectionResult.cpp \

    zxing/pdf417/PDFDetectionResultColumn.cpp \

    zxing/pdf417/PDFDetector.cpp \

    zxing/pdf417/PDFEncoder.cpp \

    zxing/pdf417/PDFHighLevelEncoder.cpp \

    zxing/pdf417/PDFModulusGF.cpp \

    zxing/pdf417/PDFModulusPoly.cpp \

    zxing/pdf417/PDFReader.cpp \

    zxing/pdf417/PDFScanningDecoder.cpp \

    zxing/pdf417/PDFWriter.cpp \

    zxing/textcodec/Big5MapTable.cpp \

    zxing/textcodec/Big5TextDecoder.cpp \

    zxing/textcodec/Big5TextEncoder.cpp \

    zxing/textcodec/GBTextDecoder.cpp \

    zxing/textcodec/GBTextEncoder.cpp \

    zxing/textcodec/JPTextDecoder.cpp \

    zxing/textcodec/JPTextEncoder.cpp \

    zxing/textcodec/KRHangulMapping.cpp \

    zxing/textcodec/KRTextDecoder.cpp \

    zxing/textcodec/KRTextEncoder.cpp \

    zxing/datamatrix/DMBitMatrixParser.cpp \

    zxing/datamatrix/DMDataBlock.cpp \

    zxing/datamatrix/DMDecoder.cpp \

    zxing/datamatrix/DMDefaultPlacement.cpp \

    zxing/datamatrix/DMDetector.cpp \

    zxing/datamatrix/DMECEncoder.cpp \

    zxing/datamatrix/DMHighLevelEncoder.cpp \

    zxing/datamatrix/DMReader.cpp \

    zxing/datamatrix/DMSymbolInfo.cpp \

    zxing/datamatrix/DMVersion.cpp \

    zxing/datamatrix/DMWriter.cpp \

    zxing/oned/rss/ODRSSExpandedBinaryDecoder.cpp \

    zxing/oned/rss/ODRSSFieldParser.cpp \

    zxing/oned/rss/ODRSSGenericAppIdDecoder.cpp \

    zxing/oned/rss/ODRSSReaderHelper.cpp

 

HEADERS += \

        mainwindow.h \

    quickresponsecode.h \

    zxing/qrcode/QRAlignmentPattern.h \

    zxing/qrcode/QRAlignmentPatternFinder.h \

    zxing/qrcode/QRBitMatrixParser.h \

    zxing/qrcode/QRCodecMode.h \

    zxing/qrcode/QRDataBlock.h \

    zxing/qrcode/QRDataMask.h \

    zxing/qrcode/QRDecoder.h \

    zxing/qrcode/QRDecoderMetadata.h \

    zxing/qrcode/QRDetector.h \

    zxing/qrcode/QRECB.h \

    zxing/qrcode/QREncoder.h \

    zxing/qrcode/QREncodeResult.h \

    zxing/qrcode/QRErrorCorrectionLevel.h \

    zxing/qrcode/QRFinderPattern.h \

    zxing/qrcode/QRFinderPatternFinder.h \

    zxing/qrcode/QRFinderPatternInfo.h \

    zxing/qrcode/QRFormatInformation.h \

    zxing/qrcode/QRMaskUtil.h \

    zxing/qrcode/QRMatrixUtil.h \

    zxing/qrcode/QRReader.h \

    zxing/qrcode/QRVersion.h \

    zxing/qrcode/QRWriter.h \

    zxing/BarcodeFormat.h \

    zxing/BinaryBitmap.h \

    zxing/BitArray.h \

    zxing/BitHacks.h \

    zxing/BitMatrix.h \

    zxing/BitSource.h \

    zxing/ByteArray.h \

    zxing/ByteMatrix.h \

    zxing/CharacterSet.h \

    zxing/CharacterSetECI.h \

    zxing/CustomData.h \

    zxing/DecodeHints.h \

    zxing/DecoderResult.h \

    zxing/DecodeStatus.h \

    zxing/DetectorResult.h \

    zxing/GenericGF.h \

    zxing/GenericGFPoly.h \

    zxing/GenericLuminanceSource.h \

    zxing/GlobalHistogramBinarizer.h \

    zxing/GridSampler.h \

    zxing/HybridBinarizer.h \

    zxing/LuminanceSource.h \

    zxing/MultiFormatReader.h \

    zxing/MultiFormatWriter.h \

    zxing/PerspectiveTransform.h \

    zxing/ReadBarcode.h \

    zxing/Reader.h \

    zxing/ReedSolomonDecoder.h \

    zxing/ReedSolomonEncoder.h \

    zxing/Result.h \

    zxing/ResultMetadata.h \

    zxing/ResultPoint.h \

    zxing/TextDecoder.h \

    zxing/TextEncoder.h \

    zxing/TextUtfEncoding.h \

    zxing/WhiteRectDetector.h \

    zxing/ZXBigInteger.h \

    zxing/ZXConfig.h \

    zxing/ZXContainerAlgorithms.h \

    zxing/ZXFilesystem.h \

    zxing/ZXNullable.h \

    zxing/ZXNumeric.h \

    zxing/ZXStrConvWorkaround.h \

    zxing/ZXTestSupport.h \

    zxing/aztec/AZDecoder.h \

    zxing/aztec/AZDetector.h \

    zxing/aztec/AZDetectorResult.h \

    zxing/aztec/AZ

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值