国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

挑戰(zhàn)杯 python 機(jī)器視覺 車牌識別 - opencv 深度學(xué)習(xí) 機(jī)器學(xué)習(xí)

這篇具有很好參考價值的文章主要介紹了挑戰(zhàn)杯 python 機(jī)器視覺 車牌識別 - opencv 深度學(xué)習(xí) 機(jī)器學(xué)習(xí)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1 前言

?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是

?? 基于python 機(jī)器視覺 的車牌識別系統(tǒng)

??學(xué)長這里給一個題目綜合評分(每項滿分5分)

  • 難度系數(shù):3分
  • 工作量:3分
  • 創(chuàng)新點:3分

?? 更多資料, 項目分享:

https://gitee.com/dancheng-senior/postgraduate文章來源地址http://www.zghlxwxcb.cn/news/detail-834198.html

1 課題背景

車牌識別其實是個經(jīng)典的機(jī)器視覺任務(wù)了,通過圖像處理技術(shù)檢測、定位、識別車牌上的字符,實現(xiàn)計算機(jī)對車牌的智能管理功能。如今在小區(qū)停車場、高速公路出入口、監(jiān)控場所、自動收費站等地都有車牌識別系統(tǒng)的存在,車牌識別的研究也已逐步成熟。盡管該技術(shù)隨處可見了,但其實在精度和識別速度上還需要進(jìn)一步提升,自己動手實現(xiàn)一個車牌識別系統(tǒng)有利于學(xué)習(xí)和理解圖像處理的先進(jìn)技術(shù)。

本文詳細(xì)介紹基于深度學(xué)習(xí)的中文車牌識別與管理系統(tǒng),在介紹算法原理的同時,給出Python的實現(xiàn)代碼以及PyQt的簡單UI界面。在界面中可以選擇需要識別的車牌視頻、圖片文件等。

2 效果演示

首先還是用動圖先展示一下效果,系統(tǒng)主要實現(xiàn)的功能是對圖片、視頻中的車牌進(jìn)行檢測和識別,演示效果如下。

2.1 圖片檢測識別

挑戰(zhàn)杯 python 機(jī)器視覺 車牌識別 - opencv 深度學(xué)習(xí) 機(jī)器學(xué)習(xí),python

2.2視頻檢測識別

挑戰(zhàn)杯 python 機(jī)器視覺 車牌識別 - opencv 深度學(xué)習(xí) 機(jī)器學(xué)習(xí),python

3 車牌檢測與識別

目前,智能交通系統(tǒng)中集成運用計算機(jī)視覺、物聯(lián)網(wǎng)、人工智能等多種技術(shù)成為未來發(fā)展方向。其中,車牌識別(License Plate Recognition,
LPR)技術(shù)作為一項重要技術(shù),從獲取的圖像中提取目標(biāo)車輛的車牌信息,成為完善智能交通管理運行的基礎(chǔ)。

由于本文介紹的是中文車牌,所以可以簡單了解一下國內(nèi)汽車拍照的特點:字符數(shù)為七個,包括漢字、字母和數(shù)字。車牌顏色組合中,其中最常見的組合為普通小型汽車藍(lán)底白字和新能源汽車的漸變綠底黑字。

挑戰(zhàn)杯 python 機(jī)器視覺 車牌識別 - opencv 深度學(xué)習(xí) 機(jī)器學(xué)習(xí),python

總結(jié)來說,車牌是一個有特點的圖像區(qū)域,幾種特征可以綜合起來確定車牌定位,所以之前就有利用車牌與周圍環(huán)境的差異的算法。目前常見的車牌定位算法有以下 4
種:基于顏色、紋理、邊緣信息的車牌定位算法和基于人工神經(jīng)網(wǎng)絡(luò)的車牌定位算法。

如下圖所示,常規(guī)的步驟包括圖像采集、預(yù)處理、車牌定位、字符分割、字符識別、輸出結(jié)果。深度學(xué)習(xí)技術(shù)成熟之后,端到端的網(wǎng)絡(luò)模型使得這一過程變得簡單起來。從思想上來說,基于深度學(xué)習(xí)的車牌識別實現(xiàn)思路主要包括兩個部分:(1)車牌檢測定位;(2)車牌字符識別。

挑戰(zhàn)杯 python 機(jī)器視覺 車牌識別 - opencv 深度學(xué)習(xí) 機(jī)器學(xué)習(xí),python

其中,車牌的檢測定位本質(zhì)是一個特定的目標(biāo)檢測任務(wù),即通過算法框選出屬于車牌的位置坐標(biāo),以便將其與背景區(qū)分開來??梢哉J(rèn)為檢測出的車牌位置才是我們的感興趣區(qū)域。好用的方法如Cascade
LBP,它是一種機(jī)器學(xué)習(xí)的方法,可以利用OpenCV訓(xùn)練級聯(lián)分類器,依賴CPU進(jìn)行計算,級聯(lián)分類器的方法對于常用場景效果比較好,檢測速度較快,曾經(jīng)一度比較流行,但準(zhǔn)確率一般。基于深度學(xué)習(xí)的檢測算法有Mobilene-
SSD、YOLO-v5等,利用大批量的標(biāo)注數(shù)據(jù)進(jìn)行訓(xùn)練.

當(dāng)ROI被檢測出來,如何對這一區(qū)域中的字符進(jìn)行識別,這就涉及到采取的處理方式。第一種處理方式,首先利用一系列字符分割的算法將車牌中的字符逐個分開,然后基于深度學(xué)習(xí)進(jìn)行字符分類,得到識別結(jié)果;第二種,區(qū)別于第一種先分割再分類的兩步走方式,利用端到端的CTC(
Connectionist Temporal Classification)網(wǎng)絡(luò)直接進(jìn)行識別。

這里我們使用網(wǎng)上開源的HyperLPR中文車牌識別框架,首先導(dǎo)入OpenCV和hyperlpr,讀取一張車牌圖片調(diào)用架構(gòu)中的車牌識別方法獲得結(jié)果,以下代碼來自官方的示例:

?

    #導(dǎo)入包
    from hyperlpr import *
    #導(dǎo)入OpenCV庫
    import cv2
    #讀入圖片
    image = cv2.imread("demo.jpg")
    #識別結(jié)果
    print(HyperLPR_plate_recognition(image))

?

以上代碼運行結(jié)果如下,可以看出該方法識別了車牌的車牌字符、置信度值、車牌位置坐標(biāo)、圖片尺寸等結(jié)果。

挑戰(zhàn)杯 python 機(jī)器視覺 車牌識別 - opencv 深度學(xué)習(xí) 機(jī)器學(xué)習(xí),python

這樣的結(jié)果還不夠直觀,我們寫一個函數(shù)將車牌的識別結(jié)果標(biāo)注在圖片上,首先導(dǎo)入相關(guān)依賴包,其代碼如下:

?

    # 導(dǎo)入包
    from hyperlpr import *
    # 導(dǎo)入OpenCV庫
    import cv2 as cv
    from PIL import Image, ImageDraw, ImageFont
    import numpy as np

?

新建一個函數(shù)drawRectBox,將圖像數(shù)據(jù)、識別結(jié)果、字體等參數(shù)傳入,函數(shù)內(nèi)部利用OpenCV和PIL庫添加標(biāo)注框和識別結(jié)果的字符,其代碼如下:

?

    def drawRectBox(image, rect, addText, fontC):
        cv.rectangle(image, (int(round(rect[0])), int(round(rect[1]))),
                     (int(round(rect[2]) + 8), int(round(rect[3]) + 8)),
                     (0, 0, 255), 2)
        cv.rectangle(image, (int(rect[0] - 1), int(rect[1]) - 16), (int(rect[0] + 75), int(rect[1])), (0, 0, 255), -1, cv.LINE_AA)
        img = Image.fromarray(image)
        draw = ImageDraw.Draw(img)
        draw.text((int(rect[0] + 1), int(rect[1] - 16)), addText, (255, 255, 255), font=fontC)
        imagex = np.array(img)
        return imagex

?

我們首先讀取圖片文件,利用前面的HyperLPR_plate_recognition方法識別出車牌結(jié)果,調(diào)用以上函數(shù)獲得帶標(biāo)注框的圖片,利用OpenCV的imshow方法顯示結(jié)果圖片,其代碼如下:

?

    image = cv.imread('test3.jpeg')  # 讀取選擇的圖片
    res_all = HyperLPR_plate_recognition(image)
    fontC = ImageFont.truetype("./platech.ttf", 14, 0)
    res, confi, axes = res_all[0]
    image = drawRectBox(image, axes, res, fontC)
    cv.imshow('Stream', image)
    c = cv.waitKey(0) & 0xff

?

此時運行以上代碼可以得到如下結(jié)果:

挑戰(zhàn)杯 python 機(jī)器視覺 車牌識別 - opencv 深度學(xué)習(xí) 機(jī)器學(xué)習(xí),python

同理,識別視頻中的車牌也可以做類似的操作,不過我們需要先對視頻文件進(jìn)行逐幀讀取,然后采用以上的方式在圖片中標(biāo)識出車牌并顯示。

這部分代碼如下:

    
capture = cv.VideoCapture("./車牌檢測.mp4")  # 讀取視頻文件
fontC = ImageFont.truetype("./platech.ttf", 14, 0)  # 字體,用于標(biāo)注圖片
?    

i = 1
while (True):
    ref, frame = capture.read()
    if ref:
        i = i + 1
        if i % 5 == 0:
            i = 0
            res_all = HyperLPR_plate_recognition(frame)  # 識別車牌
            if len(res_all) > 0:
                res, confi, axes = res_all[0]  # 獲取結(jié)果
                frame = drawRectBox(frame, axes, res, fontC)
            cv.imshow("num", frame)  # 顯示畫面

?        if cv.waitKey(1) & 0xFF == ord('q'):
?            break  # 退出
?    else:
?        break

?

以上代碼每5幀識別一次視頻中的車牌,將車牌的結(jié)果標(biāo)注在畫面中進(jìn)行實時顯示,運行結(jié)果的截圖如下所示:
挑戰(zhàn)杯 python 機(jī)器視覺 車牌識別 - opencv 深度學(xué)習(xí) 機(jī)器學(xué)習(xí),python

車牌的識別部分代碼演示完畢,對此我們完成了圖片和視頻的識別,然而這些還是簡單的腳本呈現(xiàn)。為了方便更換圖片、視頻以及管理車牌,還需要設(shè)計文件選擇功能以及系統(tǒng)的UI界面。這部分代碼如下:

?

    class Ui_MainWindow(object):
        def setupUi(self, MainWindow):
            MainWindow.setObjectName("MainWindow")
            MainWindow.resize(800, 600)
            self.centralwidget = QtWidgets.QWidget(MainWindow)
            self.centralwidget.setObjectName("centralwidget")
            self.openimage = QtWidgets.QPushButton(self.centralwidget)
            self.openimage.setGeometry(QtCore.QRect(20, 40, 91, 51))
            self.openimage.setObjectName("openimage")
            self.showlabel = QtWidgets.QLabel(self.centralwidget)
            self.showlabel.setGeometry(QtCore.QRect(110, 10, 471, 441))
            self.showlabel.setObjectName("showlabel")
            self.LPRdetect = QtWidgets.QPushButton(self.centralwidget)
            self.LPRdetect.setGeometry(QtCore.QRect(20, 150, 81, 51))
            self.LPRdetect.setObjectName("LPRdetect")
            self.LPR_Rec = QtWidgets.QPushButton(self.centralwidget)
            self.LPR_Rec.setGeometry(QtCore.QRect(20, 292, 75, 31))
            self.LPR_Rec.setObjectName("LPR_Rec")
            self.lineEdit_result = QtWidgets.QLineEdit(self.centralwidget)
            self.lineEdit_result.setGeometry(QtCore.QRect(20, 400, 101, 41))
            self.lineEdit_result.setObjectName("lineEdit_result")
            self.openvideo = QtWidgets.QPushButton(self.centralwidget)
            self.openvideo.setGeometry(QtCore.QRect(20, 360, 75, 23))
            self.openvideo.setObjectName("openvideo")
            MainWindow.setCentralWidget(self.centralwidget)
            self.menubar = QtWidgets.QMenuBar(MainWindow)
            self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 23))
            self.menubar.setObjectName("menubar")
            MainWindow.setMenuBar(self.menubar)
            self.statusbar = QtWidgets.QStatusBar(MainWindow)
            self.statusbar.setObjectName("statusbar")
            MainWindow.setStatusBar(self.statusbar)
            self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.openimage.setText(_translate("MainWindow", "打開圖片"))
        self.showlabel.setText(_translate("MainWindow", "TextLabel"))
        self.LPRdetect.setText(_translate("MainWindow", "車牌檢測"))
        self.LPR_Rec.setText(_translate("MainWindow", "車牌識別"))
        self.openvideo.setText(_translate("MainWindow", "PushButton"))

?

4 HyperLPR庫

4.1 簡介

HyperLPR是一個使用深度學(xué)習(xí)針對對中文車牌識別的實現(xiàn),與較為流行的開源的EasyPR相比,它的檢測速度和魯棒性和多場景的適應(yīng)性都要好于目前開源的EasyPR,HyperLPR可以識別多種中文車牌包括白牌,新能源車牌,使館車牌,教練車牌,武警車牌等。

4.2 特點

  • 基于端到端sequence模型,無需進(jìn)行字符分割,識別速度更快。
  • 速度快 720p ,單核 Intel 2.2G CPU (macbook Pro 2015)平均識別時間<=90ms
  • 識別率高,僅僅針對車牌ROI在EasyPR數(shù)據(jù)集上,0-error達(dá)到 95.2%, 1-error識別率達(dá)到 97.4% (指在定位成功后的車牌識別率)
  • 輕量總代碼量不超1k行。
  • 帶有Android實現(xiàn),其Android Demo可解決一些在一些普通業(yè)務(wù)場景(如執(zhí)法記錄儀)下的車牌識別任務(wù)。
  • 支持多種車牌的識別,詳情見如下

4.3 HyperLPR的檢測流程

  • 使用opencv的HAAR Cascade檢測車牌大致位置
  • Extend檢測到的大致位置的矩形區(qū)域
  • 使用類似于MSER的方式的多級二值化和RANSAC擬合車牌的上下邊界
  • 使用CNN Regression回歸車牌左右邊界
  • 使用基于紋理場的算法進(jìn)行車牌校正傾斜
  • 使用CNN滑動窗切割字符
  • 使用CNN識別字符

4.4 安裝

?
? pip install hyperlpr

4.5 Python 依賴

  • Keras (>2.0.0)

  • Theano(>0.9) or Tensorflow(>1.1.x)

  • Numpy (>1.10)

  • Scipy (0.19.1)

  • OpenCV(>3.0)

  • Scikit-image (0.13.0)

  • PIL

  • 使用CNN識別字符

5 最后

?? 更多資料, 項目分享:

https://gitee.com/dancheng-senior/postgraduate

到了這里,關(guān)于挑戰(zhàn)杯 python 機(jī)器視覺 車牌識別 - opencv 深度學(xué)習(xí) 機(jī)器學(xué)習(xí)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 挑戰(zhàn)杯 基于深度學(xué)習(xí)的水果識別 設(shè)計 開題 技術(shù)

    挑戰(zhàn)杯 基于深度學(xué)習(xí)的水果識別 設(shè)計 開題 技術(shù)

    Hi,大家好,這里是丹成學(xué)長,今天做一個 基于深度學(xué)習(xí)的水果識別demo 這是一個較為新穎的競賽課題方向,學(xué)長非常推薦! ?? 更多資料, 項目分享: https://gitee.com/dancheng-senior/postgraduate 深度學(xué)習(xí)作為機(jī)器學(xué)習(xí)領(lǐng)域內(nèi)新興并且蓬勃發(fā)展的一門學(xué)科, 它不僅改變著傳統(tǒng)的機(jī)器

    2024年03月13日
    瀏覽(90)
  • 挑戰(zhàn)杯 Yolov安全帽佩戴檢測 危險區(qū)域進(jìn)入檢測 - 深度學(xué)習(xí) opencv

    挑戰(zhàn)杯 Yolov安全帽佩戴檢測 危險區(qū)域進(jìn)入檢測 - 深度學(xué)習(xí) opencv

    ?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是 ?? Yolov安全帽佩戴檢測 危險區(qū)域進(jìn)入檢測 ??學(xué)長這里給一個題目綜合評分(每項滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點:4分 該項目較為新穎,適合作為競賽課題方向,學(xué)長非常推薦! ?? 更多資料, 項目分享: https://gitee.com/d

    2024年02月19日
    瀏覽(21)
  • 第十八屆“挑戰(zhàn)杯”-基于端云算力協(xié)同的疲勞駕駛智能識別-2023.03.28

    第十八屆“挑戰(zhàn)杯”-基于端云算力協(xié)同的疲勞駕駛智能識別-2023.03.28

    目錄 時間 內(nèi)容 具體 知識點 評分 數(shù)據(jù) 領(lǐng)域調(diào)研 ChatGPT詢問 論文: 開源代碼: null https://competition.huaweicloud.com/information/1000041855/circumstance ? 主題:智能駕駛場景(疲勞/分神駕駛檢測),利用端側(cè)算力單元與云上算力中心協(xié)同,讓車輛能夠更準(zhǔn)確更迅速的檢測疲勞/分神駕駛,

    2024年02月05日
    瀏覽(52)
  • 競賽 python 機(jī)器視覺 車牌識別 - opencv 深度學(xué)習(xí) 機(jī)器學(xué)習(xí)

    競賽 python 機(jī)器視覺 車牌識別 - opencv 深度學(xué)習(xí) 機(jī)器學(xué)習(xí)

    ?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是 ?? 基于python 機(jī)器視覺 的車牌識別系統(tǒng) ??學(xué)長這里給一個題目綜合評分(每項滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點:3分 ?? 更多資料, 項目分享: https://gitee.com/dancheng-senior/postgraduate 車牌識別其實是個經(jīng)典的機(jī)器視覺任務(wù)了,

    2024年04月11日
    瀏覽(29)
  • 挑戰(zhàn)杯 python的搜索引擎系統(tǒng)設(shè)計與實現(xiàn)

    挑戰(zhàn)杯 python的搜索引擎系統(tǒng)設(shè)計與實現(xiàn)

    ?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是 ?? python的搜索引擎系統(tǒng)設(shè)計與實現(xiàn) ??學(xué)長這里給一個題目綜合評分(每項滿分5分) 難度系數(shù):3分 工作量:5分 創(chuàng)新點:3分 該項目較為新穎,適合作為競賽課題方向,學(xué)長非常推薦! ?? 更多資料, 項目分享: https://gitee.com/dancheng-s

    2024年02月19日
    瀏覽(21)
  • 【畢業(yè)設(shè)計】python 機(jī)器視覺 車牌識別 - opencv 深度學(xué)習(xí) 機(jī)器學(xué)習(xí)

    【畢業(yè)設(shè)計】python 機(jī)器視覺 車牌識別 - opencv 深度學(xué)習(xí) 機(jī)器學(xué)習(xí)

    ?? 基于python 機(jī)器視覺 的車牌識別系統(tǒng) ??學(xué)長這里給一個題目綜合評分(每項滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點:2分 ?? 選題指導(dǎo), 項目分享: https://gitee.com/dancheng-senior/project-sharing-1/blob/master/%E6%AF%95%E8%AE%BE%E6%8C%87%E5%AF%BC/README.md 車牌識別其實是個經(jīng)典的機(jī)器視覺任

    2024年02月06日
    瀏覽(29)
  • 競賽保研 python 機(jī)器視覺 車牌識別 - opencv 深度學(xué)習(xí) 機(jī)器學(xué)習(xí)

    競賽保研 python 機(jī)器視覺 車牌識別 - opencv 深度學(xué)習(xí) 機(jī)器學(xué)習(xí)

    ?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是 ?? 基于python 機(jī)器視覺 的車牌識別系統(tǒng) ??學(xué)長這里給一個題目綜合評分(每項滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點:3分 ?? 更多資料, 項目分享: https://gitee.com/dancheng-senior/postgraduate 車牌識別其實是個經(jīng)典的機(jī)器視覺任務(wù)了,

    2024年02月04日
    瀏覽(28)
  • python 機(jī)器視覺 車牌識別 - opencv 深度學(xué)習(xí) 機(jī)器學(xué)習(xí) 計算機(jī)競賽

    python 機(jī)器視覺 車牌識別 - opencv 深度學(xué)習(xí) 機(jī)器學(xué)習(xí) 計算機(jī)競賽

    ?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是 ?? 基于python 機(jī)器視覺 的車牌識別系統(tǒng) ??學(xué)長這里給一個題目綜合評分(每項滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點:3分 ?? 更多資料, 項目分享: https://gitee.com/dancheng-senior/postgraduate 車牌識別其實是個經(jīng)典的機(jī)器視覺任務(wù)了,

    2024年02月06日
    瀏覽(27)
  • 計算機(jī)競賽 python 機(jī)器視覺 車牌識別 - opencv 深度學(xué)習(xí) 機(jī)器學(xué)習(xí)

    計算機(jī)競賽 python 機(jī)器視覺 車牌識別 - opencv 深度學(xué)習(xí) 機(jī)器學(xué)習(xí)

    ?? 優(yōu)質(zhì)競賽項目系列,今天要分享的是 ?? 基于python 機(jī)器視覺 的車牌識別系統(tǒng) ??學(xué)長這里給一個題目綜合評分(每項滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點:3分 ?? 更多資料, 項目分享: https://gitee.com/dancheng-senior/postgraduate 車牌識別其實是個經(jīng)典的機(jī)器視覺任務(wù)了,

    2024年02月12日
    瀏覽(34)
  • 機(jī)器視覺畢業(yè)設(shè)計 python車牌識別系統(tǒng) - opencv 深度學(xué)習(xí) 機(jī)器學(xué)習(xí)

    機(jī)器視覺畢業(yè)設(shè)計 python車牌識別系統(tǒng) - opencv 深度學(xué)習(xí) 機(jī)器學(xué)習(xí)

    # 1 前言 ?? 基于python 機(jī)器視覺 的車牌識別系統(tǒng) ??學(xué)長這里給一個題目綜合評分(每項滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點:2分 車牌識別其實是個經(jīng)典的機(jī)器視覺任務(wù)了,通過圖像處理技術(shù)檢測、定位、識別車牌上的字符,實現(xiàn)計算機(jī)對車牌的智能管理功能。如今在

    2024年02月13日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包