久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

基于OpenCV的銀行卡識別系統(tǒng):邊緣檢測、形態(tài)學(xué)與模板匹配實(shí)戰(zhàn)

基于OpenCV的銀行卡識別系統(tǒng):邊緣檢測、形態(tài)學(xué)與模板匹配實(shí)戰(zhàn) 簡介一套完整的基于OpenCV的銀行卡識別系統(tǒng)源碼包面向計(jì)算機(jī)視覺學(xué)習(xí)者、金融科技開發(fā)者及高校相關(guān)課題研究。該方案融合OpenCV圖像處理與機(jī)器學(xué)習(xí)技術(shù)覆蓋銀行卡圖像預(yù)處理、邊緣檢測、二值化、字符定位與識別等完整流程可直接運(yùn)行調(diào)試并配有設(shè)計(jì)報(bào)告與演示PPT便于理解系統(tǒng)架構(gòu)和復(fù)現(xiàn)實(shí)驗(yàn)。資源共43個文件以10個Python腳本為核心輔以16張JPEG和7張JPG測試圖片、項(xiàng)目說明文檔、演示PPT、配置文件及前端頁面資源壓縮包大小10.31MBPython腳本覆蓋界面啟動、目標(biāo)檢測與字符識別主流程設(shè)計(jì)報(bào)告則對算法原理、參數(shù)調(diào)優(yōu)和測試結(jié)果進(jìn)行了詳細(xì)說明。目前已有98人學(xué)習(xí)下載適合用于課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)或作為OCR識別項(xiàng)目的入門參考通過閱讀源碼與報(bào)告可掌握OpenCV在金融場景下的實(shí)戰(zhàn)用法及字符識別模型的調(diào)用與優(yōu)化思路。1. 基于 OpenCV 的銀行卡識別系統(tǒng)先把「找卡號」當(dāng)主戰(zhàn)場識別數(shù)字只是收尾很多人第一次接觸這個項(xiàng)目以為難點(diǎn)在「識別數(shù)字」于是上來就研究 OCR。實(shí)際上做過一遍的人都知道翻車的全是前半段——卡片沒擺正、反光區(qū)域把邊緣檢測攪亂、卡號區(qū)域被誤判成信用卡 logo 或者一大塊底色。所謂基于 OpenCV 的銀行卡識別系統(tǒng)本質(zhì)是一條傳統(tǒng)圖像處理流水線讀圖 → 灰度化 → 邊緣檢測 → 形態(tài)學(xué)閉運(yùn)算 → 輪廓篩選 → 定位卡號 ROI → 數(shù)字分割 → 模板匹配。整個鏈路不用深度學(xué)習(xí)模型每一步的中間結(jié)果都能可視化這對課程設(shè)計(jì)和畢設(shè)來說非常友好因?yàn)槟憧梢阅弥虚g結(jié)果圖寫進(jìn)設(shè)計(jì)報(bào)告里講清楚每一層為什么這么做。適合有 Python 基礎(chǔ)、想入門 OpenCV 圖像處理、或者正在做模式識別課程設(shè)計(jì)的開發(fā)者。2. 識別鏈路拆解從預(yù)處理到模板匹配先把每一步的中間結(jié)果看懂2.1 為什么第一步不是 OCR而是灰度化 邊緣檢測OCR 解決的問題是「把圖片里的文字變成字符串」但它天生不擅長處理「文字在哪兒」。一張真實(shí)拍攝的銀行卡照片里有卡面背景圖案、銀行 logo、卡號凸字、有效期、持卡人姓名甚至還有持卡人手指和桌面紋理。如果直接把整張圖丟給 OCR它會返回一堆亂七八糟的文字。所以 OpenCV 方案的第一件事不是識別而是把「卡號區(qū)域」從畫面里切出來。常見做法是先灰度化再用高斯模糊降噪最后用 Canny 做邊緣檢測。高斯模糊的核大小一般取 (5, 5)太小壓不住傳感器噪聲太大會把數(shù)字邊緣也磨平。Canny 的雙閾值建議設(shè)成 (100, 200)這個區(qū)間對銀行卡這種高對比度物體比較穩(wěn)。做完這一步你會得到一張黑白邊緣圖卡片的邊框、卡號凸字、卡面圖案的邊緣都會變成白色線條。注意這里不要急著找輪廓因?yàn)榭ㄌ柕囊淮當(dāng)?shù)字是分散的邊緣圖里的它們是一堆斷開的白色小段下一步得先用形態(tài)學(xué)把它們連成一個整體。import cv2 import numpy as np img cv2.imread(card.jpg) # 讀入銀行卡照片 gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 轉(zhuǎn)灰度后續(xù)所有操作都基于單通道 blur cv2.GaussianBlur(gray, (5, 5), 0) # 高斯模糊抑制 CMOS 傳感器噪聲 edges cv2.Canny(blur, 100, 200) # Canny 邊緣檢測雙閾值 100/200 cv2.imwrite(edges.png, edges) # 保存中間結(jié)果方便排查這段代碼里GaussianBlur的第三個參數(shù)是高斯核標(biāo)準(zhǔn)差填 0 表示由核大小自動計(jì)算。Canny的第二個和第三個參數(shù)分別是低閾值和高閾值梯度幅值高于 200 的像素必保留低于 100 的必丟棄介于中間的看是否與強(qiáng)邊緣相連。我建議每次調(diào)參都把edges.png保存下來看一眼邊緣圖如果全是麻點(diǎn)就把高斯核加大到 (7, 7)如果卡號輪廓斷得太碎就把高閾值降到 150。2.2 輪廓檢測找卡號區(qū)域先用形態(tài)學(xué)把斷開的邊緣連起來邊緣檢測做完卡號區(qū)域是一堆斷開的白線直接findContours會找出幾十個碎輪廓。這時(shí)候需要形態(tài)學(xué)閉運(yùn)算。閉運(yùn)算 先膨脹后腐蝕作用是填補(bǔ)小孔、連接相鄰邊緣。對銀行卡卡號場景膨脹核要設(shè)計(jì)成「水平長條」因?yàn)榭ㄌ枖?shù)字是橫向排列的水平方向需要連接垂直方向則要克制不然相鄰兩行字會被連成一片。核的形狀用cv2.getStructuringElement生成常見配置是MORPH_RECT尺寸 (15, 5)。對于 720p 級別的輸入圖這個尺寸能在水平方向把相鄰數(shù)字邊緣搭在一起同時(shí)垂直方向留出間隔。做完閉運(yùn)算后再用findContours卡號區(qū)域應(yīng)該變成一個或兩個完整的大輪廓銀行 logo 之類的小圖案因?yàn)槊娣e不夠會被過濾掉。kernel cv2.getStructuringElement(cv2.MORPH_RECT, (15, 5)) closed cv2.morphologyEx(edges, cv2.MORPH_CLOSE, kernel) contours, _ cv2.findContours(closed, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) roi None for c in contours: x, y, w, h cv2.boundingRect(c) area w * h ratio w / h if area 8000 and 4.0 ratio 10.0: roi gray[y:y h, x:x w] cv2.rectangle(img, (x, y), (x w, y h), (0, 0, 255), 2) break cv2.imwrite(roi.png, img)這段代碼有兩個關(guān)鍵參數(shù)需要按實(shí)際照片分辨率調(diào)area 8000是對 720p 圖片設(shè)置的面積下限如果你的圖是 1080p面積閾值要放大到 15000 以上否則卡號區(qū)域輪廓會被過濾掉ratio是寬高比卡號區(qū)域是典型的「矮胖條」比銀行卡主體更扁同時(shí)不會扁到像一條線所以 4.0 到 10.0 是一個比較穩(wěn)的起點(diǎn)。如果roi一直為空把你保存的closed.png打開看大概率是核寬度不夠?qū)е螺喞獩]連起來。這里我用的是RETR_EXTERNAL只取最外層輪廓避免卡號里的數(shù)字凹槽產(chǎn)生內(nèi)部輪廓干擾篩選。2.3 數(shù)字分割與模板匹配識別放在最后一步控制變量才能排錯拿到卡號 ROI 之后接下來做數(shù)字分割。最簡單可靠的方法是二值化后再次找輪廓然后用x坐標(biāo)排序。為什么要排序因?yàn)閒indContours返回的輪廓順序不代表從左到右它按層級和檢索順序輸出不排序的話識別出來的卡號會是亂的。排序后還要做寬度過濾把誤檢的小噪點(diǎn)輪廓去掉。識別這一步很多畢設(shè)和課程設(shè)計(jì)選模板匹配而不是 Tesseract原因很實(shí)際銀行卡卡號只有 0-9 十個數(shù)字準(zhǔn)備十張標(biāo)準(zhǔn)數(shù)字模板非常容易模板匹配對光照變化的容忍度也夠用而且不需要額外安裝 OCR 引擎環(huán)境依賴小。設(shè)計(jì)報(bào)告里畫流程圖也方便每一層都看得見。模板匹配的做法是把每個數(shù)字 ROI 縮放到模板大小然后用TM_CCOEFF_NORMED計(jì)算相似度取最大值對應(yīng)的數(shù)字為結(jié)果。def match_digit(roi_gray, templates): best_num, best_val -1, -1.0 roi_resized cv2.resize(roi_gray, (templates[0].shape[1], templates[0].shape[0])) for num, tpl in enumerate(templates): res cv2.matchTemplate(roi_resized, tpl, cv2.TM_CCOEFF_NORMED) _, max_val, _, _ cv2.minMaxLoc(res) if max_val best_val: best_val, best_num max_val, num return best_num, best_valTM_CCOEFF_NORMED是歸一化相關(guān)系數(shù)輸出范圍理論上在 -1 到 1 之間越大越相似。它比TM_SQDIFF更魯棒因?yàn)閷φw亮度偏移不敏感銀行卡照片的光照不均勻正好是它的主要場景。模板匹配的坑在于模板本身的質(zhì)量常見做法是自己從一張清晰的卡號截圖上把每個數(shù)字摳下來存成 20 × 40 左右的灰度圖。摳模板時(shí)有兩條建議一是模板字體盡量和識別對象一致銀行卡上的凸字是等寬字體不要用手寫體或者襯線字體做模板二是模板背景必須是純色最好做一次二值化再存否則匹配分?jǐn)?shù)會被背景紋理拖低。3. 拿到 zip 源碼之后的復(fù)現(xiàn)路徑環(huán)境準(zhǔn)備、目錄排查與最小運(yùn)行3.1 環(huán)境準(zhǔn)備Python、OpenCV、numpy 的版本組合這個項(xiàng)目寫進(jìn)設(shè)計(jì)報(bào)告的時(shí)候一般不會把環(huán)境配置寫得很細(xì)但你在自己電腦上跑的時(shí)候環(huán)境恰恰是第一個攔路虎。最常見的報(bào)錯是ModuleNotFoundError: No module named cv2原因是 pip 安裝包的名字是opencv-python而導(dǎo)入語句寫的是import cv2兩者不一致。還有一類情況是系統(tǒng)里同時(shí)裝過 OpenCV C 版本但 Python 環(huán)境里看不到因?yàn)?C 版本不會自動供 Python 調(diào)用。我個人的建議是新建一個干凈的虛擬環(huán)境不要往系統(tǒng) Python 里直接裝不然以后裝 torch 或者 ddddocr 的時(shí)候依賴版本互相打架很頭痛。Python 版本選 3.8 到 3.10 比較穩(wěn)OpenCV 用 4.x 系列numpy 用 1.24.x 左右。這里有個隱藏的坑新版 numpy 2.x 對 OpenCV 4.x 的某些接口不兼容如果你裝的是最新 numpy可能會出現(xiàn)莫名其妙的TypeError或者CvTypeError遇到這種問題先看版本不要先懷疑算法代碼。python -m venv venv source venv/bin/activate # Windows 下是 venv\Scripts\activate python -m pip install --upgrade pip python -m pip install opencv-python numpy1.24.4 python -c import cv2; print(cv2.__version__)最后一行命令是驗(yàn)證環(huán)境是否裝通能打印出版本號說明導(dǎo)入成功。注意opencv-python這個包只包含主模塊如果你需要cv2.xfeatures2d這類擴(kuò)展模塊得裝opencv-contrib-python但銀行卡識別用不到別多裝。如果你用的是 conda 環(huán)境conda install opencv會同時(shí)拉起來一堆依賴我反而推薦 miniconda 創(chuàng)建環(huán)境后仍然用 pip 安裝 opencv-python這樣最可控。3.2 解壓后先看什么源碼目錄與設(shè)計(jì)報(bào)告的對應(yīng)關(guān)系zip 打開之后不要急著跑代碼先按目錄結(jié)構(gòu)理清文件職責(zé)。比較規(guī)范的壓縮包里通常會有這么幾類東西一個或多個.py文件這是主程序和模塊一個template或templates文件夾放著 0-9 的數(shù)字模板圖片若干測試圖片以及設(shè)計(jì)報(bào)告文檔Word 或 PDF。如果你看到的入口文件叫main.py直接用 python 跑就行如果叫card_ocr.py或者bankcard.py找文件末尾有沒有if __name__ __main__段這段就是入口。先打開 Python 文件按函數(shù)名快速掃一遍。我一般會先找五個關(guān)鍵函數(shù)圖像讀取、預(yù)處理、輪廓定位、數(shù)字分割、模板匹配。有的源碼會把模板匹配寫成一個大函數(shù)這不影響閱讀但你得確認(rèn)它內(nèi)部是否調(diào)用了cv2.imread去讀模板文件如果是模板路徑是相對路徑還是絕對路徑?jīng)Q定了你解壓后能不能直接跑起來。設(shè)計(jì)報(bào)告里通常有系統(tǒng)結(jié)構(gòu)圖和流程圖先看流程圖對照代碼能少走很多彎路畢竟課程設(shè)計(jì)報(bào)告里的流程圖往往是作者對代碼結(jié)構(gòu)的真實(shí)映射。# 這段代碼說明源碼入口常見結(jié)構(gòu) import argparse def main(): parser argparse.ArgumentParser(descriptionBank Card Recognition) parser.add_argument(--image, requiredTrue, helppath to input card image) parser.add_argument(--templates, default./templates, helptemplate dir) args parser.parse_args() result recognize(args.image, args.templates) # 核心識別函數(shù) print(card number:, result) if __name__ __main__: main()這個入口函數(shù)用了argparse接收命令行參數(shù)。為什么要確認(rèn)入口結(jié)構(gòu)因?yàn)橛械脑创a把圖像路徑硬編碼在文件里你換了圖片就得改代碼跑起來很別扭??吹絽?shù)解析結(jié)構(gòu)你就可以在命令行里傳不同的圖片而不用動源碼這在嘗試多張卡面時(shí)非常重要。3.3 最小運(yùn)行命令入口腳本與參數(shù)解析環(huán)境裝好、目錄理順后運(yùn)行就簡單了。假設(shè)源碼入口是main.py模板目錄是./templates測試圖是./imgs/test1.jpg最小運(yùn)行命令如下python main.py --image ./imgs/test1.jpg --templates ./templates跑完之后程序通常會在終端打印識別出的卡號同時(shí)把定位標(biāo)記圖保存成文件比如result.jpg。如果程序運(yùn)行沒有任何報(bào)錯但輸出結(jié)果是空的或者全-1說明圖片進(jìn)到了識別流程但模板匹配階段沒有拿到合格的置信度問題大概率出在模板和 ROI 的預(yù)處理不一致上比如模板沒有二值化而 ROI 是灰度圖或者兩者長寬比差異太大被 resize 拉伸變形了。還有一種情況是你拿到的源碼入口不接受參數(shù)直接硬編碼了路徑。這時(shí)候不要急著改代碼結(jié)構(gòu)先看開頭的幾個路徑變量把它們改成你本機(jī)的相對路徑注意 Python 文件的工作目錄是運(yùn)行命令時(shí)所在的目錄不是文件所在目錄。換句話說你在venv里運(yùn)行python /home/user/card_src/main.py程序里的./templates指的是當(dāng)時(shí)終端所在的目錄不是card_src目錄。這個細(xì)節(jié)我踩過無數(shù)次建議直接在源碼里用os.path.join(os.path.dirname(__file__), templates)來拼模板路徑一勞永逸。4. 讓識別率從「能跑」變成「能用」的 5 個必調(diào)參數(shù)4.1 形態(tài)學(xué) kernel 尺寸水平連字符別讓它連成一片閉運(yùn)算的 kernel 尺寸直接決定卡號區(qū)域定位成敗。核太短數(shù)字邊緣連不起來輪廓就是碎的一百多塊面積和寬高比過濾根本找不到目標(biāo)核太長兩行數(shù)字或者卡號和旁邊文字被連成一個整體定位框把整個卡片下半部分框進(jìn)去。對于 720p 輸入圖(15, 5) 是我比較常用的起點(diǎn)如果卡號區(qū)域定位框偏窄裁掉了一兩個數(shù)字說明水平方向閉運(yùn)算沒連夠把核寬加到 20如果定位框把相鄰的卡面機(jī)構(gòu)名稱也框進(jìn)來了就縮小到 10。還有一個很容易忽略的點(diǎn)kernel 的垂直尺寸。銀行卡卡號兩行之間間距不大如果垂直尺寸設(shè)置成 10 以上兩行數(shù)字會被連成一個大塊寬高比瞬間失真。所以垂直方向控制在 3 到 5 比較安全。4.2 輪廓面積閾值與寬高比控制抓取的是整個卡片還是卡號區(qū)域源碼里通常有兩個閾值在起作用最小輪廓面積和寬高比。面積閾值太低桌面的紋理邊緣、銀行卡上的 logo 都會被當(dāng)作候選后面模板匹配浪費(fèi)在錯誤 ROI 上閾值太高如果攝像頭離得遠(yuǎn)導(dǎo)致卡號區(qū)域像素面積小就會被直接過濾掉。寬高比的設(shè)定取決于你要定位什么定位整張卡則寬高比在 1.5 附近定位卡號區(qū)域則在 4.0 到 10.0 之間。我見過不少源碼把兩個閾值直接寫死在代碼里沒有參數(shù)注釋。建議你在調(diào)試時(shí)把這兩個值提升為命令行參數(shù)或者至少寫成文件頂部的常量并加上注釋說明「這個值是在什么分辨率下調(diào)出來的」。不然你換一張 1080p 的測試圖所有輪廓面積都會放大快三倍固定閾值直接失效。4.3 模板匹配的置信度閾值不是 max 值大于 0.8 就萬事大吉cv2.matchTemplate返回的匹配分?jǐn)?shù)只是一個相對相似度TM_CCOEFF_NORMED在理想情況下接近 1但因?yàn)殂y行卡凸字有立體陰影、照片有反光實(shí)際能到 0.7 以上就算不錯了。很多人在源碼里看到if max_val 0.8這樣的閾值就以為低于 0.8 的識別都是失敗的這往往會漏掉大量本來可以正確識別的數(shù)字。更好的做法是不設(shè)絕對閾值而是記錄整張卡號序列的平均置信度最后判斷平均值比如低于 0.5 時(shí)輸出「卡片可能識別失敗」。你也可以把每個數(shù)字的置信度打印出來如果你發(fā)現(xiàn)某個位置的數(shù)字總是被分成兩個輪廓說明分割階段出了問題而不是匹配閾值的問題。調(diào)閾值永遠(yuǎn)先看單數(shù)字的分布不要拍腦袋設(shè) 0.8。4.4 數(shù)字排序x 坐標(biāo)排序 vs 行排序分割出的數(shù)字輪廓必須排序后再拼接否則輸出的卡號順序是亂的。銀行卡卡號有兩種常見形式一種是單行排列比如 16 位卡號印成一行另一種是兩行前 8 位一行后 8 位一行。單行排序列按cv2.boundingRect的x坐標(biāo)升序排列即可。雙行排列就不能只按x排得先按y坐標(biāo)分出行再在每一行內(nèi)按x排。我建議直接寫一個分組函數(shù)先對每個輪廓取中心點(diǎn)(cx, cy)按cy做聚類。同一行的輪廓cy差值應(yīng)該很小差值超過輪廓自身高度的一半就認(rèn)為換行了。這部分用numpy就可以實(shí)現(xiàn)不要依賴輪廓的索引順序。4.5 二值化方法全局 threshold 處理不了復(fù)雜光照很多模板匹配代碼默認(rèn)對 ROI 做cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)這在均勻光照下能用但銀行卡是塑料材質(zhì)側(cè)面一打光就會出現(xiàn)漸變反光全局閾值會直接把部分卡號數(shù)字從白色變成黑色。遇到這種問題優(yōu)先換cv2.adaptiveThreshold它按局部鄰域計(jì)算閾值能解決大部分光照梯度問題。代價(jià)是會把卡面的紋理誤判成前景所以自適應(yīng)閾值之后通常要加一個中值濾波或者先用面積過濾掉小噪點(diǎn)。如果換自適應(yīng)閾值后效果反而變差還有一種常見做法先對 ROI 做大津法THRESH_OTSU。大津法自動根據(jù)直方圖選擇閾值在卡號 ROI 這種前景背景比例相對固定的場景里表現(xiàn)不錯。我自己的經(jīng)驗(yàn)是優(yōu)先 OTSU它不需要調(diào)參數(shù)只有 OTSU 效果不好時(shí)才上自適應(yīng)閾值并調(diào)塊大小。參數(shù)常見設(shè)置調(diào)試信號閉運(yùn)算 kernel(15, 5)定位框碎或包含多余區(qū)域時(shí)調(diào)整輪廓最小面積8000 720pROI 為空時(shí)按分辨率等比放大寬高比范圍4.0 ~ 10.0定位到整張卡或 logo 時(shí)收窄匹配置信度0.5 ~ 0.7低于 0.4 優(yōu)先檢查預(yù)處理二值化方式OTSU / adaptive反光嚴(yán)重?fù)Q adaptive紋理干擾換 OTSU5. 避坑環(huán)境報(bào)錯、空輪廓、誤匹配的三類常見翻車與排查5.1 No module named cv2pip 包名和導(dǎo)入名不是一回事現(xiàn)象運(yùn)行源碼第一行import cv2就拋ModuleNotFoundError: No module named cv2。 原因很多人直接用pip install opencv或者根本沒裝庫。PyPI 上不存在名為opencv的 Python 包正確的包名是opencv-python而它的導(dǎo)入名是cv2包名和導(dǎo)入名不一致是 Python 生態(tài)里比較特殊的一處。 解決執(zhí)行python -m pip install opencv-python不要用pip install opencv。如果已經(jīng)裝了很多包怕沖突先python -m pip list | grep opencv看是否裝過別的 OpenCV 發(fā)行版有opencv-contrib-python同時(shí)在環(huán)境里時(shí)建議只保留一個兩個都裝會導(dǎo)致符號沖突具體表現(xiàn)是findContours等函數(shù)報(bào)奇怪的 C 類型錯誤。5.2 imread 返回 None中文路徑與文件缺失問題現(xiàn)象代碼沒有報(bào)錯但cv2.imread讀出來的img是 None整個流程在cv2.cvtColor處拋出空指針異常。 原因OpenCV 的imread內(nèi)部用的是 C 的文件讀取接口不支持中文路徑。如果你的測試圖片放在D:\測試圖片\card.jpg這種目錄下imread會返回 None而且不會報(bào)任何 warning。 解決把圖片路徑改成純英文目錄或者用cv2.imdecode配合numpy從字節(jié)流讀取繞開imread的路徑解析限制。第二種方法的寫法是img cv2.imdecode(np.fromfile(D:/測試圖片/card.jpg, dtypenp.uint8), cv2.IMREAD_COLOR)。同樣的問題也會出現(xiàn)在cv2.imwrite上寫結(jié)果圖到中文路徑時(shí)一樣會失敗只是imwrite通常會返回 False注意檢查返回值而不是只看有沒有報(bào)錯。5.3 cv2.error: OpenCV(4.4.0)... 與 findContours 返回值不一致現(xiàn)象運(yùn)行到contours, hierarchy cv2.findContours(...)時(shí)報(bào)錯錯誤信息類似too many values to unpack。 原因OpenCV 3.x 和 4.x 的findContours簽名不同。3.x 返回三個值(image, contours, hierarchy)4.x 返回兩個值(contours, hierarchy)。如果你下載的源碼用的是舊教程的寫法跑到新版 OpenCV 上就會解包失敗。報(bào)錯里帶著OpenCV(4.4.0) C:\users\...\pip-req-build...就是典型的 OpenCV 版本差異。 解決確認(rèn)你的 OpenCV 版本python -c import cv2; print(cv2.__version__)如果是 4.x把代碼改成contours, _ cv2.findContours(...)。如果你需要兼容兩個版本可以寫一個小的分支判斷cnt cv2.findContours(...); contours cnt[0] if len(cnt) 2 else cnt[1]。這個兼容寫法在給別的同學(xué)跑代碼時(shí)特別有用因?yàn)樗沫h(huán)境很可能和你不一樣。5.4 卡號區(qū)域定位錯亂輪廓沒連起來或者連成一大塊現(xiàn)象定位框用紅框畫出來之后框的位置要么在桌面雜物上要么把整張卡下半部分全包住要么框里只有半個卡號。 原因三種情況最容易發(fā)生。第一是閉運(yùn)算 kernel 太小數(shù)字邊緣之間還有缺口輪廓不完整寬高比不符合卡號區(qū)域被過濾后反而選到了旁邊的 logo第二是 kernel 垂直尺寸太大把兩行數(shù)字連成了一個整體第三是輪廓面積閾值太低選中了卡面上的小裝飾圖案。 解決逐層排查。先保存閉運(yùn)算后的closed.png肉眼看輪廓是不是一條完整的白色長條如果斷成幾段加寬水平 kernel如果連成一片減垂直 kernel。然后打印所有候選輪廓的面積和寬高比對照卡號實(shí)際尺寸把閾值范圍收緊。不要憑感覺調(diào)打印數(shù)據(jù)說話。5.5 數(shù)字識別混淆模板字體和卡面字體的差距現(xiàn)象識別結(jié)果里 6 經(jīng)常變成 83 變成 84 變成 9整體置信度都在 0.5 到 0.7 徘徊。 原因模板匹配的原理決定了它只認(rèn)「接近模板的形狀」。銀行卡卡號用的是等寬凸字字體和系統(tǒng)自帶字體、網(wǎng)上隨便下的字體差異很大。特別是 6 和 8、3 和 8 這種筆畫結(jié)構(gòu)接近的數(shù)字只要模板的邊緣和實(shí)際字符差幾個像素匹配分?jǐn)?shù)就會倒向錯誤的那一邊。 解決重新制作模板而且只從你實(shí)際要識別的卡種上摳模板。準(zhǔn)備一張分辨率高、沒有反光的真實(shí)卡號圖手動用矩形框切出每一個數(shù)字存成模板。摳模板時(shí)把數(shù)字四周空白裁掉不要留大塊背景然后統(tǒng)一縮放到相同尺寸比如 24 × 40。模板制作好之后單獨(dú)測試每個數(shù)字的匹配分?jǐn)?shù)如果 6 和 8 的分?jǐn)?shù)差不到 0.05說明模板太模糊或者 ROI 里有干擾線回到分割環(huán)節(jié)檢查是不是把兩個數(shù)字的邊界裁歪了。6. 進(jìn)階用腳本生成一張自測銀行卡先驗(yàn)證流程再驗(yàn)證效果拿到這個項(xiàng)目后最容易掉進(jìn)去的陷阱是拿一張真實(shí)卡照片反復(fù)調(diào)參結(jié)果卡面反光、拍攝角度等因素混在一起根本分不清是哪個環(huán)節(jié)出了問題。我習(xí)慣先做一張可控的測試卡把變量全部固定住再逐步貼近真實(shí)場景。做法是用 OpenCV 的putText在純色背景上畫出一串卡號保存成test_card.jpg。這張圖沒有反光、沒有透視變形、字體位置標(biāo)準(zhǔn)適合先驗(yàn)證整條流程是否走通。import numpy as np import cv2 img np.full((180, 640, 3), 30, dtypenp.uint8) # 深色底模擬卡面 card_no 6222 1234 5678 9012 # 16 位卡號 cv2.putText(img, card_no, (40, 110), cv2.FONT_HERSHEY_SIMPLEX, 1.6, (0, 0, 255), 4) cv2.imwrite(test_card.jpg, img)用這張測試圖跑通識別流程后再做三件事一是給測試卡加旋轉(zhuǎn)用cv2.warpAffine旋轉(zhuǎn) 5 度以內(nèi)觀察定位是否穩(wěn)定二是加模擬反光在卡號區(qū)域手動畫一個半透明白色矩形觀察模板匹配置信度變化三是換不同字體生成模板觀察同一套識別代碼的泛化能力。你會發(fā)現(xiàn)旋轉(zhuǎn)超過 8 度之后水平閉運(yùn)算核的效果大幅下降這時(shí)就需要在預(yù)處理里加透視矯正這是把系統(tǒng)做完整的一個重要進(jìn)階方向。另外如果你有精力可以把最后的模板匹配換成 PaddleOCR 或者 ddddocr 這類輕量 OCR 方案OpenCV 負(fù)責(zé)定位卡號區(qū)域OCR 負(fù)責(zé)數(shù)字識別。這樣設(shè)計(jì)報(bào)告里可以寫兩套方案的對比實(shí)驗(yàn)識別率數(shù)據(jù)會更漂亮。但換 OCR 之前先保證 OpenCV 定位環(huán)節(jié)已經(jīng)穩(wěn)定因?yàn)?OCR 識別的上限取決于你裁出來的 ROI 質(zhì)量。我自己當(dāng)年做類似項(xiàng)目時(shí)卡在定位環(huán)節(jié)的時(shí)間遠(yuǎn)比識別多后面總結(jié)出一條教訓(xùn)凡是圖像處理項(xiàng)目先確保每一層中間結(jié)果都可視化、可保存出現(xiàn)問題才能精準(zhǔn)定位到某一層而不是對著最終結(jié)果瞎猜。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美十八禁视频| 欧美|91色综合| 91青青在线视频| 五月激情在线| 午夜福利成人免费视频| 高清无码在线播放网站| 人爽不卡视频| 超碰视97中文| 久久精品国产亚洲av水密被窝| 精品人人| 天堂蜜桃无码视频一区二区| 国产亚洲国产超碰| 一本大道不卡一二三区| 亚洲中文字幕熟女| 中文字幕精品码亚洲| 久草精品视频| 骚逼一区二区| 青青草在线视频人人想人人上 | 精品视频97| 男人天堂2019亚洲| 欧美精品日韩一区二区| 在线观看黄色电话| 青娱乐国产盛宴视频| 精品国产一区探花在线观看| 美女裸体无遮挡永久免费观看网站| 欧美精品久久| 欧美日韩人妻婷婷一区| 日韩9999| 国产成人主播| 久久久久久波多野吉衣高潮| 精品中文日韩字幕视频| 伊人久久大香线综合无码| 婷婷丁香六月| 综合色播| 97网址www| 美日韩成人| 亚洲av影院在线观看| 日韩精品一区二区高清 | 亚洲精品久| 91校园春色长篇| 婷婷激情五月| 亚洲青青青视频在线| 男人天堂2019亚洲| 欧美日韩亚洲五月天婷婷| av情色影音| 欧美午夜色妇色鬼| 国产人妻一区二区三区欧美毛片| 欧美中字不卡| 亚洲超碰97| 曰韩中文人妻视频| 热无码中文亚洲H一道本一区二区| 欧美97在线欧| 色官网色综合| 国产尹人在线视频免费| 大香蕉亚洲中文| 久操99| 亚洲淫乱骚妇AV| 一牛一区二区三区久久| 97天天| 日本中文熟女视频| 欧美色视频在线| 久久黄色性爱视频| 欧美疯狂做爰xxxx| 麻豆 欧美 日韩| 歐美一級亂黃99在綫精品| 欧美色天堂网在线视频| 九九九九AV| 老熟女乱伦片| 亚洲一卡2卡3卡4卡乱码网站 | 久久av成人无码免费| 欧美东京热精品A∨| 99热精品在线观看| 99久在线精品99re8a| 亚洲日韩东京热一区| Julia Annxxxxx| 亚洲情色 自拍| 五月婷亚洲精品天堂| 成年人黄色小视频网站| 97精品国产97久久久| 亚洲永久AV无码精品秋霞| 男人天堂网手机版婷婷| 2018天天日天天日| 欧美啪啪女女| 国产视频小说| 91综合网站| 日韩 欧美 视频 在线 一区| 四虎AV在线观看| 日韩不卡一二三四| 欧美后入| 麻豆精品久久久久久久| 国产蜜臀精品一区二区尤物| 91丨九色丨国产丨人妻在线| 激情五月天婷婷| 精品美女少妇一区二区三区| 亚洲美女AV无码| 日本操大逼| 国产夜夜操| 中韩中文字幕在线观看| 精品少妇人妻av久久免费| 97舔舔| 亚洲少妇自拍中文字幕懂色| 国产精品一区午夜福利| 亚精品无码毛片一区二区三区| 99re超碰| 另类天堂| 国产亚卅97| 99热这里是精品| 亚洲欧美精品一区天堂久久| 国产又粗又长又爽又色| 国产一区二区三区,在线观看观看| 天天综合网网欲色| 色噜噜狠狠色综无码久久合欧美| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 五月丁香六月激情| 日韩欧美麻豆 | 日韩人妻精品中文字幕| 日本孕妇一区二区视频操逼免费看 | 丝袜内射| 黑人操一区二区| 日韩视频小说在线观看| 一区二区三区黄片免费观看| 中文字幕日韩精品一区二区三区| 夜夜爽夜夜爽| 无码人妻一区二区一牛影视| 国产一级内射高清视频| 国产精彩女在线观看视频| 国产精品高潮久久久无码| 99精品久久| 91白虎| 九九碰九九爱97超碰| 欧美日韩97在线| 国产一区二区三区视频在线看| AV天堂男人的天堂| 深夜国产一区二区三区在线看| 大香蕉国产中文自拍| 伊人丁香五月婷婷| 爱妻综合网| 免费在线观看国内色片网站网址| 丰满欧美放荡少妇在线| 在线性黄高清免费视频| 国产亚洲精品无码三区| 丝袜av一区二区三区| 天天激情综合站| 日日夜夜国产综合| 玖玖资源综合在线视频| 99在线精品观看视频中文| 色官网在线| 青青操日韩| 女优免费一区二区永久| 17c嫩草51久久91嫩草| 欧美综合加勒比在线| 成年人三级黄色片视频| 91麻豆天美国产欧美高潮| 99久热| 九九九久久久| 欧美,亚洲,日韩,v,天堂,手机在线观看| 肉嘟嘟www视频在线观看高清| 综合欧美日本三级| 国产多人在线观看视频| 亚洲春色欧美| 五毛骚逼极品美女怕怕| 日韩成人色图| 国产一级黄色片在线观看| 欧美另类丝袜熟女| 综合激情97| 在线看片国产精品每日更新| 91色拍| 智利AV在线网| 亚洲三级网址久久最新| 男人的天堂2018东京热啪啪啪| 无码不卡亚洲成?人片| 久久精品国产精品| 日本东京热大香蕉a片| 五月婷婷无码| 亚洲五码一区二区三区| 亚洲欧洲成人在线电影| 亚洲激情久久久伊人综合| 男生女生啊啊啊啊| 久99| 久久人人看| 成人免费看吃奶视频网站| 国产又粗又长的视频| 天美传媒Av在线| 久久久人妻| 强奸乱伦资源| 亚洲阿v天堂无码z2018| 男人在线天堂| 麻豆精品.欧美精品.日韩精品.| 日日黄色三级网站| WWW4虎| 亚洲少妇喷视频看| 激情综合五| 国产黄片在线免费观看| 一个色导综合| 色综合V| 91欧美网| 美女黄网| 老熟女综合| 久久久久九九九| 天天欧美| 操人妻视频| 亚洲图片视频小说| 天天肏视频| 亚洲天堂另类| 欧美78P| 人澡逼| 九久久精品| 97国产伦理| 91路www| 国产盗摄美女如厕大神作品在线观看| 国产不卡精品91| 亚洲综合码| 肥臀熟女福利视频一区二区| 国产夜夜艹| 日韩精品熟妇| 欧美丝袜美女电影一二三四区| 欧美 牲| 欧美日日人人天天| 精品人妻一区二区三区四区| 97久久网| 久久无码成人| 香蕉婷婷| 蜜桃传媒一区二区亚洲| 99啪啪| 国产不卡中文字幕免费avi| 伊人丝袜美腿高跟在线观看高清| 狠狠色一区二区中文字幕| 欧美一二在线| 一区二区三区四区五区久久久久久| 一区二区三区四区在线不卡| 农村女一级毛卡片| 国产成人精品必看 | 综合性视频99| 老女人综合网| 婷婷午夜成人色中色| 干婷婷综合网| 国产精品对白内射| 四虎精品一区| 国产美女在线精品免费看| 欧美一区二区三区四区综合| 一区二区三区欧美激情| 九一亚洲国产免费| 亚洲天天精品| 操逼逼一区视频| 少妇干B| www.超碰| av 模特一区了| 91精品国产91久久久久久久久久久久| 国产熟女精品一区二区| 99自拍视频在线| 免费农村成人少妇人妻Aa一区二区视频| 综合网~91综合网| 亚洲91射| av强奸乱轮| 一区二区你上我| 国产传媒1234区| 色淫网站优优视频| 中文人妻av高清一区| www色日本| 中文字幕免费观看| 天天日天天干少妇日| 一区二区三区黄色片a| 青青草日韩无码| 天堂伊人久久| 神马久久久久久伦理片| 无码人妻一区二区一牛影视| 久久鲁干| 久久久穴999| 天美传媒AV在线| 丁香六月东京热| 好爽,再快点啊哈嗯嗯嗯嗯| 亚洲做性| 国产69精品久久久久99尤物| 亚洲精品欧洲精品| 亚洲无线观看久久| 人人爱操| 大香蕉99re| 超碰在线观看av不卡| 久久色激情一区二区三区| 少妇高潮一区二区三区在线| 日韩人成网站在线播放| 伊人精品视频| 74成人在线| 伊色综合天堂色97| 日韩小电影| 青娱乐日韩无码| 丝袜亚洲91| 日本乱人伦片中文三区| 91爽啪| 亚州,欧美在线| www.99中文字幕| 九九夜精品九九在线| 操b在线观看| 丰满少妇人妻久久久久久| 久久中文字幕在线观看| 亚洲av在线免费观看| 国产伊人精品在线| 超碰久久性爱| 在线免费观看高清无码视频| 精品国产一区二区三区久久久蜜臀 | 精品国产乱码久久久久久蜜臀| 人人操人人摸人 | 亚洲第一在线视频| 蜜臀va69| 色婷婷综合网站| 噜噜瑟| 人妻人人操| 99re欧美| 久久天天躁日日躁狠狠躁| se吧提供91精品国产91久久久久久| 精品视频日日夜夜| 三级日本一区二区三区| 亚洲青青草| 五月婷婷激情综合| 精品人妻免费观看| 久久99精品九九久久久婷婷| 亚洲精品aa久久伊人| 91网站在线播放| 丁香五月色情| 色欲Av人妻精品一区二| 欧美乱妇狂野欧美在线视频| 韩国一级做A片免费的| 青草伊人网| 欧美亚洲性爱一区二区| 国产人伦a片信息免费片| 日日AAvv| 九久9热| 国产熟女免费观看久久| 蜜臀久久99精品久久久| 欧美91网站| 亚洲综合激情五月久久| 玖玖爱在线视频免费观看| 亚洲大胆人体av| 成年女人18级毛片毛片免费观看| 国产日韩无码一区二区三区久久区| 亚洲免费97免费| 亚洲最新a在线观看| 欧美亚洲首页| 九9热伊人| 1024日韩| 亚洲黄色网址视频| 黑人猛交| 国产熟码AV| 操我啊啊啊啊啊| 亚洲一区中文字幕一区| 日本Xx性爱| 亚洲综合第一页| 黑人粗大V S日韩女优视频| 天天干天天日天天射黄色| 一起草日韩| 欧美天天综合网| 日韩人妻精品| 在线97在线| 嗯嗯啊在线视频| 中文操嬖片。| 亚洲国产精品9999在线观看| 亚洲丝袜综合| 久操电影网| 久9久精品视频| 蜜色网色哟哟| 中文字幕在线观看丝袜| 色色色综合| 国产精品宅男免费| 国产野战露脸在线播放| 高清国产精品福利网站| 999久久久免费精品国产牛牛| 九九九九九九综合| 3P丝袜熟女 色综合| 天美传媒在线一区| 97免费视频网| 黄色高清久久无码依人| 操操操操操操| 天天日日本| 熟妇人妻精品一区二区视频色欲| 国产刺激视频| 97蜜桃综合| 日本 欧美 亚中文字幕| 黄网在线播放| 99久视频| 婷婷五月在线视频| 日本在线一二| 白嫩嫩一区| 99综合网| 久久久久久亚洲精品中文字幕人妻| 久久综合婷婷| 禁止观看美女黄| 久久久9视频| 日韩中文字幕熟妇人妻| 久久av色| 日本精品性生活久久久| 色香伊人| 97爱爱官网| 97在线视频网站| 综合久久9| 玖草在线视频| 亚洲国产成人福利在线观看| 手机看av网站在线看| 免费观看啪视频| 狠狠色丁香| 久久久久久久久久久97| 精品视频专区| 夜夜天天噜狠狠爱2021| 久久人人看| 99国产精品人妻人伦| www老逼91| 欧美A√综合网 | 校园春色亚洲| 亚洲最新中文字幕免费| 婷婷久久五月天| 色一射色一射| 日韩人人精品| 欧美亚洲情色| 制度丝袜99| 九月婷婷综合| 粉嫩AV一区夜夜嗨| 麻豆一区二区AV天美| 中文字幕三四区| 操操吧亚洲乱伦视频| 性爱av网站| 北京专精特新企业招聘信息| 精品国产久久乱码| 天天伊人| 欧美精品1区2区3区| 好湿好紧好爽 视频| 天天综合网~91综合网| 欧美加勒比| 啪啪资源网| 大胆91| 97av,com| 久久久久久久免费A片国产成a人亚洲精∨品无码| 色综合V| 国产 码在线成人网站| 日本伦理一区二区| 一级AAA片一区二区三区| 日日操免费视频| 91精品久久久久久综合五月天| 青娱乐 成人娱乐在线| 伊人在线大香蕉视频久久| 测评在线观看AV| 99久久精品国产高潮| 蜜伊人色综合97| 好涩综合| 欧美做爰无码A片视频| 亚洲伊人久久综合97| 手机看片1024你懂的国产| 蜜桃久久久久久久| 婷婷爽人人婷婷爽视频| 青青草天天亲夜夜操网| 加勒比伊人综合| 亚洲电影中字一区二区| 天天肏美女| 欧美自拍网| 久久久久九九九| 久久久久ab| 国产一区二区三区高清视频| 欧美日韩高潮喷水91| 蜜桃精品视频一区二区三区| 国产麻豆福利av在线播放| 久久成年精品| 欧美性爱第一页久久| 国产欧美伊人| 欧美一二三| 色一情一乱一乱一区91Av| 久久久久9| 亚洲日本激情| 狠操91,com| 亚洲色欲天天天堂色欲网女| 男人干美女| 7777奇米影视久久| 一二三四视频在线社区中文字幕| 久综合国内精品自在自线| 色综合加勒比四四季| 国产精品com| av婷婷色网| www.亚洲黄色| 青青伊人加勒比海| 看日韩操逼| 天美麻豆黄色录像| 日日夜夜狠狠| 天天草天天日| 日韩钢筋无码高清啾啾啾| 亚洲国产av中文字幕久久| 亚洲精品天天影视综合网 | 99啪| 74成人在线| 九九九精品一区二区无码| 国产人伦a片信息免费片| 精品欧美日韩在线观看| 99熟女| 日韩欧美加勒比| av午夜玫瑰| 国产第25页在线观看| 一本大道青青| 欧美日韩国产电影| 久久99精品视频| 国产深喉视频一区二区| 久久久∴| 舔人妻中文免费视频| 色色操| 操操操五月天婷婷丁香影院| WWW美腿丝袜香蕉中文| 天天插天天干| 亚洲?V无码专区在线电影| 少妇激情AV| 97色伦97色伦国产欧美| 99热一区二区三区四区| 亚洲图片欧洲图片aⅴ| 亚洲aw毛茸茸在线| 亚洲h片在线免费观看| 超碰欧美在线欧美| 九九黄色网| 天美精品原创av片国产| ai欧美亚洲小说| 操一区| 欧美一级黄色免费专区| 人人九九精| 天天色香欲综合网| 91人妻中文| 另类图片综合| 99蜜月精品久久| 中文字幕日产av人| 国产精品无码在线| 香港澳门日本三级网站| 一本色道久久综合狠狠操| 嗯嗯啊啊操死我| 免费看欧美美女黄色大片| 欧美激情综合网| 性交一区二区在线播放| 偷拍欧美激情| 久久五月丁香| 26uuu国产日韩综合在线观看| 超碰97男女| 在线情色电影 91大 | 九九九九九九九精品视频| 在线人成亚洲视频免费观看| 人妻丝袜日本| 美女t无毒不卡不卡| 日本九九久久99| 久久色激情一区二区三区| JULIA一区二区三区在线播放| 国内毛片热久久思思热| 欧美一级A一级a爱片久久| 日韩无码服务区| 少妇久久久久久久久| 欧美精品亚洲精品日韩传电影| 久久中文色图| 三级片大波波| 黄页18禁| 亚洲丝袜B诱惑| 久久最新免费视频23| 99精品无码| 91超级碰| 志村玲子视频一区二区| 超碰碰碰碰| 色婷婷电影| 夜夜操狠狠操| AV天天在线观看| 日本高清电影欧美色图| 99国内精品| 久久亚洲影院一区二区| 久久人妻97久久久久久久| 人妻少妇蜜桃视频欧美一区| 伊人影院中文字幕| 丁香五月天婷婷姐| 日韩欧美丝袜诱惑| 国产成人精品一区| 色网亚洲人| 国产精品农村妇女精品| 欧美激情内射| 国产精品爆乳懂色蜜乳| 日韩激情无码影院| 精品成人动漫一区二区| 色综合久| 综合色图,成人综合网| 久久天天性久久伊人| 欧美日韩国产中文超碰| 亚洲成人一二三区| 人妻内射一区二区在线视频| 日韩人人精品| 97超碰日韩| 无码人妻精品一区二区三区99不卡 | 伊人久大| 偷拍视频青青草在线视频| 欧美少妇人妻| 午夜操逼不卡| 欧美黄片视频在线观看免费 | chaopen97久久| 中国熟妇| 一区二区免费电影久久| 91精品啪在线观看国产城中村| 国产无码一二三区| 色噜噜综合在线| 亚洲欧洲久久天堂| 成人一二三区| 国产操伦| 亚洲图片 91| 亚州欧美一区| 综合夜夜| 亚洲中文字母在线播放| 999日韩中文精品观看视频。| 国产女同性恋视频| 国产又粗又长又大的视频| 日语五十路和六十路亚洲国产精品 | 婷婷伊人| 啊啊啊要高潮了| 91中文字幕制服丝袜免费视频| 国产精品久久天天干| 亚洲第一无码播放立川理惠| 国产日韩精品一区二区三区| 久久久久久人| 日韩一级特黄av毛片| 天美国产三级传媒| 一区e区三| 国产成人精品必看| 亚洲欧美一区二区三区在钱蜜桃 | 国产精品久久久久久 百度| 啊啊啊啊视频免费| 欧美狠狠狠| 日本激情免费大片| 国产超碰在线一区| 欧美激情视频一区二区| 日韩欧美午夜视频在线| 九九英色视频| 欧美精品三区| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 人妻另类| 伊人色综合网电影| 97丝袜亚洲在线播放| 国产精品黑人一区二区三区| 99这里有精品视频| 免费精品AB| 亚洲无码AV九九九| 韩日巨乳美女免费视频在线观看| 26uuu最新| 伊色综合天堂色97| 国产精品国产精品国产| 久久香蕉网| 久久97视频| 丁香婷婷久久| 精品在线78| 91精品久久综合熟女| AV色五月| 亚洲欧洲网站免费观看| 免费男人的天堂| 怡红院一区二区熟女人妻| 91艹| 欧亚在线视频| 激情另类激情| 婷婷色色五月天| 亚洲成人ab| 亚洲一区二区麻豆影院| 久热热| 五月婷婷色| 色噜噜国产精品视频一区二区| 一本久道久久综合狠狠爱| 国产AV中文| 国产性感骚丝袜在线| 国产成久久综合片| 牛牛久久国产精品视频一二三| 国产野战露脸在线播放| 超碰69| 亚洲国产欧美中日韩成人综合视频| 欧美一级黄片视频在线| 色妇91| 一区二区三区视频| 少妇高潮九九九九| 天天综合有色网| 美女极品一区二区三区| 国产精品对白自产拍| 五月婷婷六月天| 日韩欧美大片免费高清啪啪| 97操在线| 丁香五月激情综合| 免费观看性欧美一级| 国产免费一区| 97色色网| 日韩Va亚洲va欧美Ⅴa久久| 国产日韩中文字幕欧美| 亚洲 综合 欧美| 欧美精品23| rivers-china.com| 天天香香欲综合| a v网站在线播放| 97精品在线视频| 三级网站超变态精品| 操逼网站地址| 国产欧美日本亚洲精品| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 男人女人18禁片免费看网站| 少妇久久久免费| 色妹子A V| 成人免费在线网站| 97无码视频在线播放| 亚洲综合 欧美| 老熟女91av| 白嫩国模丰满一二三区| 视频国产欧美在线播放| 丝袜视频网国产90| 久久久久亚洲精品| 嗯啊不要啊在线| 婷婷丁香五月天综合东京热| 国产无码成人无码| 国产丝袜一区二区三区| 色情亚洲日本成人| 成人资源中文字幕在线观看天天| 91久久精品中文字幕| 天美精品原创av片国产| 96国产精品| 久久妇| 色九九九九| 免费视频在线观看啊啊啊啊啊| 亚洲AV成人无码久久精品播放| 五码视频在线观看| 91视频综合| 青娱乐黄色录像| 久热99999| 小骚逼被操的爽不爽| 校园春色亚洲欧洲| 中文伊人大香蕉视频| 9l视频自拍9l九色成人| 国产亚州高清国产拍精| 国产一区二区三区久久久精品| 丰满人妻区一区二区三| 友优传媒精品在线一区二区| 日韩在线观看AV| Julia Annxxxxx| 欧美影音在线| yy少妇精品久久| 成人五月天色网| 中文97国产| 久久蜜桃综合网| 99re这里只有精品3| 95精品在线| 99久久这里只有精品| 婷婷激情啪啪| 天天影视色香色欲| 午夜精品久久久久久久男人的天堂 | 午夜无遮挡男女啪啪视频| 国产精品白领在线观看| 天天看天天日天天操| 亚洲另类天堂| 欧美人体性爱互联网第一页婷婷日本| 麻豆成人影音在线| 欧美资源| 久操91视频| 国产一区二区在线播放量| 欧美黄色手机在线观看| 无码137片内射在线影院| 日韩有码 一区二区三区| 91免费看一区二区三区| 国产亚洲深夜激情| 女人被男人桶爽视频网站| 国产精品免费日韩| 妺妺跟我一起洗澡没忍住| 中日高清无码操逼视频| 丁香六月婷婷综合| 91女网站| 亚洲无限观看| 深夜激情| 国产精品午夜AV完会免费 | 国产精品欧美激在线| 人妻丝袜肏逼| 国产精品农村妇女精品| 老女人综合网| 午夜操逼不卡| 久久久久9| 中文一区二区婷婷视频| 好舒服视频| 超碰 欧美| 国产强奸无码乱伦| 青青操综合网| 婷婷五月天伊人| 成人网欧美风情| 怡红院亚洲怡春院av| 人人操人人肉久久精品| 乱伦一二三| 免费的黄片wwwwww| 91女网站| 91麻豆天美国产欧美高潮| 中文字幕97| 亚洲二区精品在线观看| 亚洲色吧网| 久久熟女久| 懂色aV一区二区天美传媒| 亚洲欧洲综合成人av一区| 婷婷亚洲天堂| 人妻熟女一区二区三区在线| 好湿好紧视频| 亚洲国产精品9999在线观看| 久99热| 97在线观视频免费观看| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 亚洲五区熟女| 国产91 丝袜在线播放 | 91人妻视频在线| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 中文字幕av片| 黄色操人| 亚洲欧洲偷拍一区| 欧美色图小说综合| 亚欧毛片基地国产毛片基地| 激情六月天| 欧美第二页午夜| 人人弄人人摸| 亚洲熟妇自偷自拍另欧美| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 男人的天堂2010| 久久久久国产精品人妻aⅴ天堂| 中文字幕av亚洲精品| 日韩成人电影AV| 老鸭窝日丰县女人| 欧 美 自 拍 偷 拍| 人妻碰碰碰碰碰碰| 精品免费囯产一区二区三区| 熟女人妇一区二区三区| 日本999精品| 欧美亚洲国产91在线| 插入综合网| 日韩欧美中文字幕搭讪巨乳美人妻视频| 亚洲欧洲综合成人av一区| 按摩中文字幕| 超碰欧美| 天美国产精品| 男人的天堂2019| 五月丁香啪啪啪| 天天天干977| 超碰AV在线| 人伦四五区| 狠狠激情综合狠狠操中文字幕| 精品一二三区四视频| 黄色av网站在线播放| 久久亚洲天天做| 高清国产无码av| 麻豆天美传媒在线视频天堂| 欧美激情激情xxxx欧美专区| 四虎永久在线精品免费网址| 国产深夜福利| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 一区二区三区四区免费视频| 91AV天美在线视频| 日韩人妻免费精品| 视频在线97| 婷婷99狠狠| 午夜一区| yirendaxiangjiashipin| 中文AV制服乱伦| 四虎免费看黄| 99精品久久久久久久婷婷| 久久久精品久久| 黑人黄片在线免费观看| 91久久国产精品| 蜜桃臀av在线观看| 日韩兔费看黄片| 久久、1234| 免费作爱一级视频| 中韩中文字幕在线观看| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 吊色| 日本天天色| www国产无码| 青青草成人视频在线观看二区 | 精品一区二区三区四区女| 欧美大香蕉同搞| 亚洲图片 欧美电影| 麻豆精品久久久久久久| 性饥渴少妇av无码毛片| 热热色色综合| 黑丝少妇在线观看| 成人小说视频在线精品欧美| 中文字幕精品三级久久久| 日本三级大片| 性久久久| 天堂网亚洲区手机版| 亚洲AV乱码专区国产噜噜亚洲| 黄色激情电影在线观看| 91亚洲黄色网| 青青操少妇| 亚洲欧美日韩综合在线尤物 | 香一区二区三区| 欧美亚洲| 欧美精品三区| 五十路熟女在线不卡观看一区二区| 中文字幕精品一区二区精品| 一区二区三区高清天码| 一区二区视频在看| 97超碰资源网| 中文无码一二三区| 色色色天美视频| 亚洲日韩av专区无码| 青青青草原| 国产AV人人 夜夜人人澡| 97婷婷色| 国产h片在线观看视频| 天天射日日干| 日本性一区| 天天天肏屄欧美| 六月天婷婷| 亚洲中文国际强奸字幕| 免费人成毛片乱码| 96超碰网| 东北操逼| 日夜干射色啊| 色婷婷aV一区二区三区麻豆综合| 日韩AC| 天天操夜夜嗨| 人人看人人插| 2024年最新色情网站在线观看| 风间由美日韩欧美久久| 欧美性天天影院| 综合久欧洲| 色性荡荡荡荡视频| 一区二区 韩日AV| 黄片不用下载在线观看| 99国产在线 精品 视频| av毛片aaaaa免费看| 人人妻人人澡人人爽久久av| 天天综合网亚洲综合网| 韩国国产欧美情侣视频在线| 午夜精品久久久99| 97干com| 97视频在线免费看| 96精品在线| 美女刺激久久国产欧美| 97精品综合久久| 91黑人无码激情在线| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 九九热三级片| 精品久久97| 婷婷国产精品一区二区| 日本熟妇自慰性高潮一区二区三区| 情色五月天网| 激情视频一二三| 亚熟hd视频在线| 亚洲 欧美 另类 日韩 人妻一区| 校园春色综合色| 自拍视频大全亚洲专媒视频/一区二区三区| 97视频观看| 色月天AV导航| 麻豆黄四叶草网站| 日日橹狠狠爱欧美超碰| 1区2区3区中文字幕日韩| 中文字幕天天天天天| 久久国产精品,久久国产| 国产性感在线观看| 午夜啊啊啊| 久久久专区| 性九九九九九九| 久久久性少妇| 99热伊人| 人人弄人人摸| 老熟妇一区二区三区…| 欧亚乱色熟女一区二区| 日韩一级片在线看| 亚洲精品99| 久久久久国产亚洲一区欧美色图日韩 | 裸体美女久久久| 青青草原成人| 亚洲激情视频| 欧美性爱综合,免费| a一区二区三区乱码在线| 午夜理论片在线观看免费| 国产成人无码久久精品| 麻豆天美国美国产AV| 91艹逼精品| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 亚洲色图8| 日本精品一区二区三区四区的功能| 内射夫妻三片| 婷婷视频在线免费观看| 噜噜在线| 97色妞| 五月天丁香婷婷综合网站| 久久一区二区三区入口| 97九色人妻| 大香蕉欧美国产日韩高潮| 97日韩欧美亚洲| 99久久无码| 亚洲精品一区二区三区在线播放| www.色婷婷| 人妻内射一区二区在线视频| 欧美 色 亚洲| 天堂а√在线最新版在线| 久久婷色| 欧美亚洲涩涩| 综合久久99| 乱伦av.com| 亚洲一二三精品久久网 | 亚洲黄网在哪免费看| 色噜噜人妻av 中文字幕| 日韩 欧美 国产 麻豆| 亚欧美综合网| 国产精品一区二区三区,亚洲综合 性开放中文AV高清无码免费看 | 色成人Www精品永久观看| AV色天香在线| 熟女熟妇一区二区三区视频| 偷拍偷窥与盗摄视频专区| 思思热免费视频观看| 精品国产72| 91伊人| 丰满的三级少妇欧美久久久| 亚州人妻| 国产内射爽爽大片| 欧美精品999| 久日综合网| AV麻豆免费一区| 五月婷色| 日日AAvv| 欧美亚洲| 97看操| av网站在线看| 亚洲性爱高潮影院| 亚洲美腿丝袜香蕉影视欧美成人| 免费福利视频中文字幕| 丁香五月天婷婷姐| 一二三区精品视频| 中文字幕免费看大片| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 超碰国产情侣自拍网| 欧美激情精品| 天天插天天操| 亚洲AV色图一区| 美女午夜福利免费视频| 九九九九日本| 午夜人人操| 草b在线| 久久精品久| 人妻天堂综合网| 久久女人| 男人天堂一区二区| 台湾佬大香蕉| 99热精品在线| 欧美性高潮| 依人大香蕉| 98久久超碰| 99re视频在线观看这里只有精品| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 男人的天堂Va| 成人日韩欧美| 淫淫综合网| 久久久艹艹艹| 午夜性生活av免费在线看| 欧美另类色| 爱射综合| 搡老女人911熟妇老熟女| 日本天天人人狠狠在线日美女| 欧美日韩1234| 久久大香蕉手机高清视频| 操国产高清| 成人精品视频一区二区| 国产第12页| 狠操91,com| 最新国产亚洲精品精品国产亚洲综合| 蜜臀久久99'精品久久久| 欧美精品1区2区3区| 91美女视频直播| 激情一区二区三区在线观看| 久久大黄片| 国产日韩人人| 国产精品久久久久无码AV会牛| 国产国产亚洲一二三久久| 口爆综合网| 一级人妻性爱视频| 久久九操在线观看| 99久热| 国产精品白丝在线播放| 大香蕉色欲AV| 九九av| 日韩福利综合一区| 久久久久久少妇| 亚洲综合五月天| 免费视频在线一区二区不卡| 久色99999| 91丝袜美女国产| 久久中文字幕一区不卡| 97伦乱| 91女在线观看| 亚洲av综合色区无码一| 成人小电影网站tex| 国产白领连续中出在线观看| 国产精品久久久久中文字幕| 天堂性色| 亚洲精品1区| 欧美躁死她一区二区| 欧美激情性久久久久久| 中文字幕熟女人妻丝袜丝| 欧美九九爱| 日韩av一级黄片| 91久久久亚洲| 青青操日韩| 国产91 丝袜在线播放| 欧美大码在线视频| 99re公开精品免费视频| 最新制服中文第一页| 日夜久久久九九九久| 久久露脸国产老熟女| 亚洲无码超碰免费| 国产尤物在线三区| 狠狠夜色午夜久久综合在线| 久久激情综合| 黄片免费看的| 26uuu久久| 欧美亚洲手机在线| 骚人妻少妇视频| 欧洲中文字幕| 色情成人五月天| 综合操逼| 亚洲另类欧美精品| 91久| 麻豆区久久久久亚| 97 超碰 人人做 人人爱| 久/久精品99看9| 首页中文字幕中文字幕免费| 色哟哟AⅤ| 国产精品乱码久久久久| 久久激情四射婷婷丁香五月天| 日日夜夜草草草| 日韩国产品视频中文字| 五月天偷拍| 一区在线国产播放| 国产精品一区二区三区,亚洲综合 性开放中文AV高清无码免费看 | 午夜啪| 精品对白久久不卡| 新91视频.cmp| 国产91丝袜在线播放蜜月| 97资源免费视频| 欧美日韩国产电影| 日韩AV一区二区三区三州三州| 992这里有精品| 婷婷亚洲综合| 极品极品色影院| 无码自拍SM| 偷看洗澡一二三区美女| 最新的亚洲无吗| 岛国大片在线观看网站入口| 啪啪啪精品| 中文字幕日韩电影人妻| 亚洲国产精品无码AV久久久| 黄色无码高清黄色无码网站| 99999精品| 97爱爱| 狠狠操,使劲操| 蜜乳中文字幕a在线| 无码久久国产 | 精品免费1| 日韩伦理久 久久 清纯 | 特级特黄一级毛片免费| 亚洲电影中字一区二区| 国产一区二区成人av在线播放| 国产精品爆乳懂色蜜乳| 亚洲天堂在线怕怕视频| 国产精品久久天天干| 920日本午夜免费| 九九热三级片| 97超碰超碰| 国产青视频| 中文字幕在线观看视频www| 插穴性爱视频在线观看| 爽极品影院| 日韩人妻播放| 人妻熟女av国产网站|