日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Qt 之二维码扫描

發布時間:2023/12/10 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Qt 之二维码扫描 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡述

二維碼(QR Code)是用某種特定的幾何圖形按一定規律在平面(二維方向)分布的黑白相間的圖形記錄數據符號信息的。是所有信息數據的一把鑰匙。應用十分廣泛,如:產品防偽/溯源、廣告推送、網站鏈接、數據下載、商品交易、定位/導航、電子憑證、車輛管理、信息傳遞、名片交流、wifi共享等。

二維條碼常用的碼制: Data Matrix、MaxiCode、Aztec、QR Code、Vericode、PDF417、Ultracode、Code 49、Code 16K等。

| 版權聲明:一去、二三里,未經博主允許不得轉載。

二維碼與一維碼

二維碼與一維碼的對比:

  • 一維碼:只能在一個方向(一般是水平方向)上表達信息,只能由數字和字母組成。
  • 二維碼:在水平和垂直方向都可以存儲信息,能存儲漢字、數字和圖片等信息。

可以看出,二維碼是一種比一維碼更高級的條碼格式,應用領域也要廣得多。

二維碼官網:

  • http://www.qrcode.com/en/index.html(英文)
  • http://www.qrcode.com/zh/index.html(中文)

二維碼編碼/解碼庫:

  • ZXing
    ZXing是一個開放源碼的,用Java實現的多種格式的1D/2D條碼圖像處理庫,包含了聯系到其他語言的端口。
    網址:https://code.google.com/p/zxing.

  • Libqrencode
    Libqrencode(QRencode)是一個用C語言編寫的用來解析二維條形碼(QR Code)的程序庫,Libqrencode通過手機的CCD攝像頭來掃描二維條形碼。二維碼容量可達7000個數字或4000個字符,是非常強大的。
    網址:http://fukuchi.org/works/qrencode/.

  • ZBar
    ZBar是款桌面電腦用條形碼/二維碼掃描工具,支持攝像頭及圖片掃描,支持多平臺包括iPhone手機。同時 ZBar提供了二維碼掃描的API開發包。
    網址:http://zbar.sourceforge.net.
    更多參考:http://sourceforge.net/apps/mediawiki/zbar/index.php.

  • Open Source QR Code Library
    二維碼編碼/解碼的Java庫(J2SE, J2ME MIDP2.0/CLDC1.0)。
    網址:http://qrcode.sourceforge.jp/index.html.en.

  • QZXing
    Qt包裝ZXing的解碼庫。
    網址:http://sourceforge.net/projects/qzxing.
    更多參考:https://projects.developer.nokia.com/QZXing.

  • QZXing解碼

    效果

    編譯

    下載QZXing之后,解壓縮(E:/Qt/QZxing),然后進行編譯,編譯完成后,會生成:QZXing2.dll、QZXing2.lib。

    將對應的庫文件拷貝至當前lib目錄下,在pro中進行如下配置:

    LIBS += -L$$PWD/lib -lQZXing2INCLUDEPATH += E:/Qt/QZxing

    源碼

    識別二維碼

    void MainWindow::showQRCode(const QString &file) {if (!file.isEmpty()){QPixmap pixmap(file);m_pImageLabel->setPixmap(QPixmap(file));m_pPathLineEdit->setText(file);// 二維碼解碼QZXing *pDecoder = new QZXing(QZXing::DecoderFormat_MAXICODE);QString strQRCode = pDecoder->decodeImage(pixmap.toImage());if (!strQRCode.isEmpty()){m_pDetailsEdit->setTextColor(QColor(230, 230, 230));m_pDetailsEdit->setText(strQRCode);}else{m_pDetailsEdit->setTextColor(Qt::red);m_pDetailsEdit->setText(QString::fromLocal8Bit("識別二維碼信息失敗!"));}} }

    如下,是我用QZXing實現的一個二維碼掃描器:
    下載地址:http://download.csdn.net/detail/u011012932/6594155.

    友情提示:關于jpg等格式的識別,需要拷貝imageformats文件夾與可執行文件(*.exe)保持同一目錄級別。。。

    總結

    以上是生活随笔為你收集整理的Qt 之二维码扫描的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。