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

ARTICLE DETAIL

資訊詳情

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

Python+OpenCV筆跡識(shí)別:圖像預(yù)處理與相似度判定實(shí)戰(zhàn)

Python+OpenCV筆跡識(shí)別:圖像預(yù)處理與相似度判定實(shí)戰(zhàn) 簡(jiǎn)介基于Python與OpenCV的筆跡識(shí)別系統(tǒng)項(xiàng)目源碼面向計(jì)算機(jī)視覺課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)以及圖像識(shí)別入門學(xué)習(xí)者旨在解決筆跡檢測(cè)、特征提取和比對(duì)識(shí)別等典型問題。該項(xiàng)目為已獲導(dǎo)師指導(dǎo)并通過的九十七分高分課程大作業(yè)代碼完整下載后即可運(yùn)行也便于按需修改與功能擴(kuò)展。壓縮包大小約三十八兆字節(jié)內(nèi)含完整的項(xiàng)目工程以Python源碼為核心覆蓋圖像讀取、灰度化、二值化、輪廓提取、特征計(jì)算、筆跡匹配及結(jié)果可視化等模塊結(jié)構(gòu)清晰適合深入研讀。目前已有九百五十八人學(xué)習(xí)說明該資源受到較多使用者認(rèn)可可靠度較高。通過本項(xiàng)目讀者既能系統(tǒng)掌握?qǐng)D像處理與模式識(shí)別的基本方法也能獲得一個(gè)可直接用于演示或答辯的完整系統(tǒng)適合快速完成課程作業(yè)、畢設(shè)選題或項(xiàng)目實(shí)戰(zhàn)實(shí)用性很強(qiáng)。1. 基于PythonOpenCV的筆跡識(shí)別這套系統(tǒng)到底解決什么問題一套基于Python和OpenCV的筆跡識(shí)別系統(tǒng)輸入是幾張手寫筆跡的掃描圖或拍照?qǐng)D輸出是“這些筆跡是否來自同一個(gè)人”。它做的是圖像識(shí)別里典型的“相似度判定”任務(wù)先用OpenCV把筆跡從背景里干凈地?fù)赋鰜碓侔衙繌垐D的形狀特征變成一串?dāng)?shù)字最后用距離公式判斷兩串?dāng)?shù)字靠不靠近。這個(gè)方向適合兩類人一是要做圖像識(shí)別課程設(shè)計(jì)或畢業(yè)設(shè)計(jì)的開發(fā)者二是想把筆跡比對(duì)做成工具的原型驗(yàn)證。它不依賴深度學(xué)習(xí)框架不需要GPU純CPU就能跑核心功夫全在圖像預(yù)處理和特征選得好不好。下面按復(fù)現(xiàn)順序拆開講從預(yù)處理到比對(duì)再到最容易踩坑的地方。2. 圖像預(yù)處理與特征提取從彩色圖到干凈前景的必經(jīng)步驟2.1 筆跡識(shí)別的前提把筆畫從背景里干凈地?fù)赋鰜砉P跡識(shí)別的第一道坎不是算法而是圖像本身太臟。掃描件上有紙張紋理、有不均勻的照明、有掃描噪點(diǎn)手機(jī)拍照還會(huì)有陰影和透視變形。如果直接拿彩色圖去算特征光照變化和紙張底色會(huì)干擾所有數(shù)值。常見的做法是先把彩色圖轉(zhuǎn)成灰度再做二值化把“是筆跡”的像素變成白色其余全變成黑色。這一步做對(duì)了后面所有特征才有意義。下面是最小可用的預(yù)處理函數(shù)import cv2 import numpy as np def preprocess(image_path): # 讀入圖像OpenCV 默認(rèn)返回 BGR 三通道 img cv2.imread(image_path) if img is None: raise FileNotFoundError(f無法讀取圖片: {image_path}) # 轉(zhuǎn)灰度筆跡識(shí)別不依賴顏色灰度能減少光照和紙張底色的干擾 gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 高斯模糊核大小選 3 或 5過大會(huì)把細(xì)筆畫的邊緣也抹掉 blur cv2.GaussianBlur(gray, (5, 5), 0) # OTSU 自動(dòng)二值化逆二值化讓筆畫變白、背景變黑方便后續(xù)輪廓處理 _, binary cv2.threshold(blur, 0, 255, cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU) return binary這里有兩個(gè)關(guān)鍵選擇。第一是為什么用cv2.THRESH_OTSU而不是固定閾值手寫筆跡的灰度分布很不均勻同一張紙上有的筆畫墨水深、有的淺固定閾值顧此失彼OTSU 會(huì)在灰度直方圖上自動(dòng)找一個(gè)峰谷分割點(diǎn)對(duì)不同深淺的筆跡都相對(duì)公平。第二是高斯模糊的核大小(5, 5)是折中值——核越大去噪越強(qiáng)但細(xì)筆畫的邊緣也會(huì)被磨掉如果原圖是 300dpi 掃描件可以降到(3, 3)。這一步最常見的翻車是二值化后前景和背景反了。cv2.THRESH_BINARY_INV表示“灰度值大于閾值的設(shè)為 0”因?yàn)楣P跡顏色深、灰度值低所以要加INV把筆畫翻成白色。如果忘了加INV前景變黑背景變白后續(xù)findContours找出來的會(huì)是一大塊白色背景而不是筆畫輪廓。2.2 傾斜校正同一句話寫成15度斜的特征就全變了預(yù)處理里最容易忽略的是傾斜校正。同一個(gè)人隨手寫的兩張紙行傾斜角差個(gè)十度很常見。如果不校正任何跟寬高、方向有關(guān)的特征全都會(huì)偏移。做筆跡識(shí)別時(shí)我一般會(huì)在二值化之后加一步把整張二值圖里所有非零像素當(dāng)成一個(gè)整體用最小外接矩形求出平均傾斜角再旋轉(zhuǎn)回水平。def deskew(binary): # 找到所有非零像素點(diǎn)坐標(biāo)相當(dāng)于把所有筆畫當(dāng)成一個(gè)整體 coords cv2.findNonZero(binary) # minAreaRect 返回 ((cx, cy), (w, h), angle)angle 范圍是 [-90, 0) rect cv2.minAreaRect(coords) angle rect[-1] # 換算成 getRotationMatrix2D 需要的旋轉(zhuǎn)角 if angle -45: angle -(90 angle) else: angle -angle h, w binary.shape center (w // 2, h // 2) M cv2.getRotationMatrix2D(center, angle, 1.0) # 旋轉(zhuǎn)后空白區(qū)域用黑色填充確保背景仍是 0 rotated cv2.warpAffine(binary, M, (w, h), flagscv2.INTER_CUBIC, borderModecv2.BORDER_CONSTANT, borderValue0) return rotated這里的角度換算是個(gè)容易繞暈的細(xì)節(jié)。cv2.minAreaRect返回的角度是矩形寬邊與水平線的夾角范圍在[-90, 0)。OpenCV 的旋轉(zhuǎn)矩陣默認(rèn)逆時(shí)針為正所以要分兩段換算角度小于-45時(shí)說明矩形是豎著的需要先轉(zhuǎn)成-(90 angle)否則直接用-angle。這個(gè)換算不仔細(xì)核對(duì)的話旋轉(zhuǎn)方向反了筆跡會(huì)越轉(zhuǎn)越歪。整個(gè)傾斜校正對(duì)“單行文字”的樣本效果很穩(wěn)但對(duì)“整頁手寫筆記”會(huì)出問題——頁面上不同行的傾斜角可能不一樣強(qiáng)行旋轉(zhuǎn)整頁反而會(huì)讓部分行更歪。如果源碼包里的樣本是整頁掃描件我一般會(huì)先按行分割每行單獨(dú)校正傾斜再做特征提取。2.3 把預(yù)處理串成一條可復(fù)用流水線上面兩步單獨(dú)寫沒問題但實(shí)際調(diào)試時(shí)要反復(fù)改參數(shù)、反復(fù)看中間結(jié)果。所以我會(huì)把它們封裝成一個(gè)完整的流水線并且隨時(shí)能輸出中間圖像方便定位問題出在模糊、二值化還是旋轉(zhuǎn)。def build_pipeline(image_path, debugFalse): img cv2.imread(image_path) gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) blur cv2.GaussianBlur(gray, (5, 5), 0) _, binary cv2.threshold(blur, 0, 255, cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU) # 對(duì)單行筆跡樣本做傾斜校正 binary deskew(binary) if debug: # 調(diào)試模式下保存中間結(jié)果方便肉眼確認(rèn)每一步是否正常 cv2.imwrite(debug_gray.png, gray) cv2.imwrite(debug_binary.png, binary) return binarydebug參數(shù)是我自己寫這類系統(tǒng)時(shí)一定會(huì)留的口子。圖像處理是典型的黑匣子系統(tǒng)參數(shù)一多你光看最終結(jié)果根本不知道是哪一步出了問題。把每一步的中間圖落盤一次就能看清“原圖、灰度、二值化、旋轉(zhuǎn)后”四個(gè)狀態(tài)哪里壞了一眼定位。這個(gè)習(xí)慣在調(diào)閾值時(shí)特別值得后面第五章還會(huì)提到。3. 筆跡比對(duì)核心實(shí)現(xiàn)輪廓特征與相似度判定的完整鏈路3.1 用findContours提取每一筆的幾何輪廓預(yù)處理完成后得到的是黑底白筆畫的二值圖。接下來要做的是把每一塊連通的白色區(qū)域找出來這就是cv2.findContours的職責(zé)。對(duì)筆跡識(shí)別來說輪廓本身攜帶了字形的大量信息筆畫的長(zhǎng)短、粗細(xì)、彎曲程度都體現(xiàn)在輪廓的形狀里。# OpenCV 4.x 的 findContours 返回兩個(gè)值輪廓列表和層級(jí)關(guān)系 contours, hierarchy cv2.findContours(binary, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)這里有兩個(gè)參數(shù)必須說清楚。第一個(gè)是RETR_EXTERNAL它只取最外層的輪廓適合字與字之間分隔清楚的樣本。如果筆跡里有很多封閉字形“口”“日”“回”內(nèi)部的白洞也是特征那就得改成RETR_CCOMP或RETR_LIST否則字形內(nèi)部的空白信息會(huì)全部丟光。第二個(gè)是CHAIN_APPROX_SIMPLE它只保留輪廓的端點(diǎn)壓縮掉直線上的冗余點(diǎn)對(duì)性能友好如果要計(jì)算曲率這類精細(xì)特征再換CHAIN_APPROX_NONE。拿到輪廓之后不能直接全用。二值化后的圖像通常有椒鹽噪點(diǎn)這些噪點(diǎn)也會(huì)形成小輪廓。我會(huì)先做一個(gè)面積過濾把明顯小于正常筆畫的輪廓丟掉避免它們污染后續(xù)特征統(tǒng)計(jì)。def filter_contours(contours, min_area20): filtered [] for c in contours: area cv2.contourArea(c) if area min_area: # 小于閾值的輪廓大概率是噪點(diǎn)或紙張纖維直接丟棄 continue x, y, w, h cv2.boundingRect(c) if w 2 or h 2: # 寬度或高度只有 1 像素的邊緣輪廓通常是孤立噪點(diǎn) continue filtered.append(c) return filteredmin_area是個(gè)跟具體數(shù)據(jù)集強(qiáng)相關(guān)的參數(shù)。300dpi 掃描的正常漢字筆畫單個(gè)輪廓面積通常在幾百到幾千像素如果是手機(jī)拍的低分辨率圖一個(gè)筆畫可能只有幾十像素。這個(gè)值設(shè)大了會(huì)把細(xì)筆畫過濾掉設(shè)小了噪點(diǎn)混進(jìn)來。我的習(xí)慣是先把二值圖上所有輪廓的面積分布打出來然后取面積的 5% 分位數(shù)作為初始閾值。3.2 挑選穩(wěn)定的特征面積、寬高比、周長(zhǎng)和像素密度輪廓有了下一步是把每個(gè)輪廓變成幾個(gè)數(shù)值這些數(shù)值就是“特征”。特征選得好不好決定了比對(duì)的上限。對(duì)筆跡識(shí)別來說我一般選三到四個(gè)幾何特征它們都滿足同一個(gè)要求對(duì)同一人的不同書寫狀態(tài)相對(duì)穩(wěn)定對(duì)不同人的筆跡有區(qū)分度。def extract_features(binary, min_area20): contours, _ cv2.findContours(binary, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) feats [] for c in contours: if cv2.contourArea(c) min_area: continue x, y, w, h cv2.boundingRect(c) area cv2.contourArea(c) perimeter cv2.arcLength(c, True) # 緊湊度面積相同的情況下周長(zhǎng)越小形狀越接近圓 compactness 4 * np.pi * area / (perimeter * perimeter 1e-6) # 長(zhǎng)寬比反映這個(gè)字形的扁與長(zhǎng)寫成“一”和“丨”差異極大 aspect_ratio w / (h 1e-6) # 像素密度輪廓區(qū)域內(nèi)實(shí)際筆畫像素占的比例 roi binary[y:y h, x:x w] density cv2.countNonZero(roi) / (w * h 1e-6) feats.append([compactness, aspect_ratio, density]) return np.array(feats)這三個(gè)特征各有講究。緊湊度的取值范圍是 0 到 1越接近 1 說明形狀越像圓同一個(gè)人寫“口”字時(shí)外輪廓的緊湊度通常穩(wěn)定在某個(gè)小區(qū)間而換成另一個(gè)人寫同一個(gè)字方框的長(zhǎng)寬比例會(huì)明顯不同。長(zhǎng)寬比是用來區(qū)分字形走向的這個(gè)特征對(duì)潦草的連筆字尤其敏感——連筆會(huì)把豎向筆畫拉長(zhǎng)長(zhǎng)寬比變化很大。像素密度則反映了筆畫的粗細(xì)習(xí)慣有人寫字重、筆畫粗同一個(gè)字的輪廓框里非零像素占比就高。注意分母都加了1e-6這是為了防止perimeter或h為 0 導(dǎo)致除零錯(cuò)誤。代碼里每個(gè)輪廓都被看作一個(gè)獨(dú)立樣本一張筆跡圖最后得到的特征矩陣形狀是(N, 3)N 是輪廓數(shù)量。比對(duì)時(shí)不能只拿某一個(gè)輪廓去比而要把整張圖所有輪廓的特征聚合起來常用的做法是取每列特征的均值和標(biāo)準(zhǔn)差拼成一個(gè)長(zhǎng)向量。均值反映整體風(fēng)格標(biāo)準(zhǔn)差反映書寫穩(wěn)定性——同一人的筆跡各字大小均勻標(biāo)準(zhǔn)差就小不同人的書寫忽大忽小標(biāo)準(zhǔn)差差異明顯。3.3 相似度計(jì)算歸一化距離的坑特征提取完最后一步就是判定。判定邏輯很直接把待測(cè)樣本的特征向量和庫里每個(gè)模板的特征向量算距離距離小于閾值的判為“同一個(gè)人”否則判為“不是同一個(gè)人”。def normalize_features(feats): # 按列做 min-max 歸一化特征數(shù)值都?jí)旱?0~1 區(qū)間 min_vals feats.min(axis0) max_vals feats.max(axis0) eps 1e-6 return (feats - min_vals) / (max_vals - min_vals eps) def compute_distance(feat_a, feat_b): # 歸一化后的歐氏距離數(shù)值越小表示越相似 return np.linalg.norm(feat_a - feat_b)歸一化是這里最不能省的一步。如果跳過它原始特征里“面積”可能是幾千上萬的數(shù)量級(jí)而“緊湊度”只有 0 到 1面積會(huì)把其他特征完全壓垮算出來的距離基本只反映面積差異等于其他特征白提了。歸一化之后所有特征都變成 0 到 1 的數(shù)值每個(gè)維度對(duì)距離的貢獻(xiàn)才公平。我見過不少翻車案例都是卡在這一步?jīng)]做歸一化距離永遠(yuǎn)都很大于是閾值設(shè)得很大最后所有樣本都判成“同一人”準(zhǔn)確率看起來很高實(shí)際完全沒用。正確的做法是先對(duì)特征矩陣做歸一化再把歸一化后的距離分布打出來看同一人筆跡的距離和不同人筆跡的距離有沒有明顯分界然后在這個(gè)分界附近選閾值。不要拍腦袋設(shè)閾值距離分布是真實(shí)的、可以看的選閾值就不該靠猜。4. 復(fù)現(xiàn)源碼包的常見報(bào)錯(cuò)排查環(huán)境、數(shù)據(jù)類型與路徑4.1 import cv2 報(bào)模塊找不到先分清是沒裝還是裝錯(cuò)包ModulenotFoundError: No module named cv2是復(fù)現(xiàn)這個(gè)項(xiàng)目時(shí)出現(xiàn)頻率最高的報(bào)錯(cuò)幾乎每個(gè)新手都會(huì)遇見?,F(xiàn)象很直接運(yùn)行程序第一行import cv2就崩。原因通常不是沒裝而是裝進(jìn)了錯(cuò)誤的 Python 環(huán)境。最常見的是 PyCharm 下項(xiàng)目解釋器選成了系統(tǒng)自帶的 Python而pip install opencv-python裝進(jìn)了 conda 的另一個(gè)環(huán)境兩邊互相看不見。解決的第一步是先確認(rèn)當(dāng)前解釋器路徑再?zèng)Q定往哪裝python -c import sys; print(sys.executable) pip install opencv-python numpy如果是已經(jīng)安裝了opencv-python-headless導(dǎo)致cv2.imshow報(bào)錯(cuò)那是另一個(gè)坑headless 版本去掉了 GUI 支持適合服務(wù)器端但本地調(diào)試看不了圖。解決辦法是卸載重裝完整版pip uninstall opencv-python-headless然后pip install opencv-python。我一般會(huì)建議新手在項(xiàng)目根目錄建一個(gè)requirements.txt把opencv-python和numpy的版本寫進(jìn)去換機(jī)器重裝時(shí)一條命令搞定省得每換一臺(tái)電腦就重新踩一遍環(huán)境坑。4.2 cv2.error: OpenCV(4.4.0) 斷言失敗findContours的輸入和返回值陷阱運(yùn)行到cv2.findContours時(shí)報(bào)類似cv2.error: OpenCV(4.4.0) ... error: (-215:Assertion failed) npoints 0 ...這是圖像識(shí)別項(xiàng)目里最典型的翻車現(xiàn)場(chǎng)?,F(xiàn)象有兩種一是程序直接拋異常崩潰二是明明圖像看起來正常卻報(bào)輸入格式錯(cuò)誤。第一個(gè)原因是 OpenCV 版本升級(jí)后的返回值變化。OpenCV 3.x 的findContours返回三個(gè)值(image, contours, hierarchy)OpenCV 4.x 返回兩個(gè)值(contours, hierarchy)。源碼包如果是照著老版本寫的在 4.x 上解包就會(huì)報(bào)ValueError: not enough values to unpack。解決方法是把contours, hierarchy cv2.findContours(...)改成四個(gè)變量的寫法但說實(shí)話直接改成兩個(gè)變量的寫法更干凈因?yàn)閕mage那個(gè)返回值在 4.x 已經(jīng)沒有意義了。查自己裝的版本用cv2.__version__。第二個(gè)原因是輸入圖像不是單通道二值圖。findContours要求輸入是uint8類型的單通道圖。有些源碼里先做了cv2.cvtColor轉(zhuǎn)灰度接著不小心又做了一次cv2.cvtColor把灰度轉(zhuǎn)成了三通道或者二值化后沒有轉(zhuǎn)成uint8都會(huì)觸發(fā)斷言失敗。解決方法是傳參前加一道保險(xiǎn)binary np.asarray(binary, dtypenp.uint8)并檢查len(binary.shape)必須等于 2。4.3 全部匹配同一人閾值與歸一化的連環(huán)坑識(shí)別結(jié)果“全部判為同一個(gè)人”或者“全部判為不同人”這種結(jié)果通常不是代碼邏輯錯(cuò)了而是數(shù)沒算對(duì)?,F(xiàn)象是跑完比對(duì)腳本準(zhǔn)確率要么 100% 要么 0%怎么看都覺得不對(duì)勁。原因九成出在特征沒有歸一化。前面提過面積特征的數(shù)值可能是緊湊度的一萬倍歐氏距離會(huì)被面積完全主導(dǎo)不同人的筆跡面積差異大算出來的距離全部很大閾值稍微設(shè)高點(diǎn)就全軍覆沒“全中”設(shè)低點(diǎn)就“全不中”。另一個(gè)原因是我見過有人把距離閾值設(shè)成float(inf)或一個(gè)巨大的數(shù)來“確保有匹配結(jié)果”這等于沒有判定。解決方法是先歸一化特征再畫距離分布圖。把同一人筆跡之間的距離和不同人筆跡之間的距離分別畫成直方圖兩個(gè)分布有重疊就說明特征選得不夠重疊越小說明特征區(qū)分度越高。閾值取兩個(gè)分布峰值的中間位置比任何拍腦袋的數(shù)值都可靠。注意歸一化的min和max必須在訓(xùn)練集上計(jì)算不能用全部數(shù)據(jù)——否則等于讓模型偷看了答案換新樣本就失效。4.4 圖片路徑報(bào)錯(cuò)源碼包目錄結(jié)構(gòu)與中文路徑最后一道坎是路徑問題。源碼包解壓后圖片放在data/目錄下代碼里寫的是相對(duì)路徑data/samples/001.jpg。如果你在別的目錄下運(yùn)行腳本Python 的工作目錄跟代碼目錄不一致就會(huì)報(bào)FileNotFoundError。這幾乎是壓縮包類源碼的通病。解決方法是不要依賴“當(dāng)前工作目錄”而是把路徑基于腳本所在目錄計(jì)算from pathlib import Path # 用腳本所在目錄作為基準(zhǔn)而不是當(dāng)前終端所在目錄 BASE_DIR Path(__file__).resolve().parent img_path BASE_DIR / data / samples / 001.jpg另一個(gè)更隱蔽的坑是中文路徑。cv2.imread在 Windows 下對(duì)帶中文的路徑支持不好通常不會(huì)報(bào)錯(cuò)而是靜默返回None導(dǎo)致后續(xù)代碼拿空值計(jì)算報(bào)錯(cuò)信息跟路徑毫無關(guān)系。如果樣本文件夾名字帶了中文我習(xí)慣用cv2.imdecode配合np.fromfile繞過這個(gè)限制import numpy as np import cv2 def imread_unicode(path): # 先用 numpy 讀取原始字節(jié)再用 imdecode 解碼繞過中文路徑限制 data np.fromfile(path, dtypenp.uint8) return cv2.imdecode(data, cv2.IMREAD_COLOR)判斷讀圖是否成功在imread后立刻檢查返回值是否為None是就打印路徑并跳過別等到后面空指針崩潰再回頭查。5. 讓識(shí)別率從能跑變成能用參數(shù)調(diào)節(jié)與效果驗(yàn)證5.1 先立一個(gè)評(píng)估標(biāo)準(zhǔn)把“像不像”變成數(shù)字很多復(fù)現(xiàn)者跑通之后就停了覺得“能出結(jié)果”就是勝利。實(shí)際上程序能跑和系統(tǒng)能用是兩回事。要判斷參數(shù)調(diào)得好不好得先把“準(zhǔn)確率”這個(gè)數(shù)字定義出來。常見的做法是留出法每個(gè)人準(zhǔn)備兩組筆跡一組做模板庫一組做待測(cè)樣本測(cè)試時(shí)把待測(cè)樣本跟模板庫里每個(gè)人比對(duì)看能否正確匹配到本人。def evaluate_system(samples_by_person, threshold10.0): persons list(samples_by_person.keys()) total 0 correct 0 # 遍歷所有成對(duì)組合同一人的兩兩算一對(duì)不同人的兩兩也算一對(duì) for i in range(len(persons)): for j in range(i 1, len(persons)): for feat_a in samples_by_person[persons[i]]: for feat_b in samples_by_person[persons[j]]: dist compute_distance(feat_a, feat_b) predicted_same dist threshold actual_same persons[i] persons[j] total 1 if predicted_same actual_same: correct 1 return correct / total if total else 0評(píng)估函數(shù)里必須同時(shí)包含“同一人”和“不同人”的樣本對(duì)否則結(jié)果會(huì)失真。如果只測(cè)同一人的匹配把所有樣本都判成同一人準(zhǔn)確率也有 100%一點(diǎn)參考價(jià)值都沒有。真實(shí)場(chǎng)景里拒認(rèn)把本人判錯(cuò)和誤認(rèn)把別人判成自己是兩碼事評(píng)估腳本里這兩個(gè)錯(cuò)誤率要分開看。把predicted_same和actual_same的四種組合打印出來你能直觀看到錯(cuò)誤是偏向哪個(gè)方向。5.2 三個(gè)最值得調(diào)的參數(shù)二值化閾值、最小輪廓面積、距離閾值整個(gè)系統(tǒng)里最影響結(jié)果的參數(shù)有三個(gè)其他的都可以先放著不動(dòng)。這三個(gè)參數(shù)相互牽連調(diào)的時(shí)候要按順序來否則容易越調(diào)越亂。參數(shù)常見范圍影響調(diào)參方向二值化閾值OTSU 自動(dòng)或 150~200閾值高筆畫變細(xì)斷筆閾值低筆畫粘連有粘連時(shí)降低有斷筆時(shí)升高最小輪廓面積10~50 像素過濾噪點(diǎn)也過濾細(xì)碎筆畫先看面積分布直方圖再定距離閾值歸一化后 0~2決定判定松緊越小越嚴(yán)格按距離分布的分位數(shù)取比如 10% 分位調(diào)參順序建議從圖開始先不要碰代碼里的數(shù)字。把二值化后的圖像保存下來用圖片查看器放大看筆畫有沒有斷、有沒有粘連、噪點(diǎn)是不是已經(jīng)被濾干凈了。圖干凈了再調(diào)最小輪廓面積把輪廓數(shù)量打印出來跟圖像上肉眼可見的筆畫數(shù)量對(duì)比。最后才調(diào)距離閾值這一步必須依賴評(píng)估腳本的數(shù)字來選看哪個(gè)閾值下拒認(rèn)率和誤認(rèn)率的總和最低。我自己的經(jīng)驗(yàn)是這三個(gè)參數(shù)每換一批掃描設(shè)備或紙張大概率要重新調(diào)一遍。這不是代碼寫錯(cuò)了是圖像本身的分辨率和噪聲特性變了。所以源碼包里如果帶了批處理腳本我會(huì)提前留一個(gè)參數(shù)配置文件把這三個(gè)值單獨(dú)放在文件頭部不需要為改參數(shù)去翻幾百行代碼。5.3 用形態(tài)學(xué)操作處理連筆膨脹腐蝕的邊界設(shè)置手寫筆跡最難處理的問題是連筆。字與字之間的游絲、筆畫之間的細(xì)連接會(huì)讓findContours把兩個(gè)字當(dāng)成一個(gè)輪廓輪廓數(shù)量驟減特征統(tǒng)計(jì)完全失真。解決連筆的常見做法是形態(tài)學(xué)開運(yùn)算——先腐蝕再膨脹可以切斷細(xì)的連接線同時(shí)保留筆畫的粗壯主體。kernel cv2.getStructuringElement(cv2.MORPH_RECT, (2, 2)) opened cv2.morphologyEx(binary, cv2.MORPH_OPEN, kernel)開運(yùn)算的核大小非常敏感。(2, 2)的核能切斷很細(xì)的連接但對(duì)筆畫正常的字幾乎無影響(3, 3)的核會(huì)明顯削掉筆畫邊緣讓字整體變細(xì)特征里的密度值會(huì)下降。我的建議是從(2, 2)開始觀察開運(yùn)算后的結(jié)果圖如果連筆還在逐漸加大核的大小直到邊界情況——某個(gè)字的正常筆畫開始出現(xiàn)斷點(diǎn)這時(shí)候回退到上一檔就是當(dāng)前數(shù)據(jù)集的最優(yōu)核。這個(gè)操作只對(duì)“細(xì)連接”有效。如果兩個(gè)人的字已經(jīng)重重疊在一起開運(yùn)算會(huì)把真正的筆畫也干掉。對(duì)于這種樣本任何形態(tài)學(xué)操作都救不回來能做的就是放棄該區(qū)域的輪廓只保留完整獨(dú)立的字形參與特征統(tǒng)計(jì)。識(shí)別系統(tǒng)跟人一樣遇到太潦草的字也會(huì)猶豫與其給一個(gè)錯(cuò)的答案不如直接標(biāo)記為“低置信度需要人工復(fù)核”。6. 進(jìn)階方向從輪廓特征到輕量級(jí)模型的可擴(kuò)展路徑這套基于輪廓特征的方案天花板在于連筆嚴(yán)重時(shí)特征會(huì)失真而且它本質(zhì)上是“特征工程 距離度量”對(duì)潦草字的泛化能力有限。如果樣本量足夠、識(shí)別率不夠用我有三個(gè)已驗(yàn)證的進(jìn)階方向可以順著現(xiàn)有代碼改。第一個(gè)方向是把特征從幾何統(tǒng)計(jì)換成方向梯度直方圖HOG。HOG 關(guān)注的是筆畫局部的方向分布比面積、周長(zhǎng)這類全局統(tǒng)計(jì)更抗連筆干擾。OpenCV 里cv2.HOGDescriptor可以直接算特征維度從 3 維漲到 300 多維歸一化后仍用歐氏距離或余弦距離判定代碼改動(dòng)的部分只是特征提取那一段后面比對(duì)的鏈路完全復(fù)用。第二個(gè)方向是用特征點(diǎn)匹配替代輪廓比對(duì)。對(duì)筆跡做 SIFT 或 SURF 關(guān)鍵點(diǎn)提取然后比對(duì)兩幅圖的關(guān)鍵點(diǎn)匹配率。這個(gè)思路對(duì)同一人筆跡的局部形變更魯棒但手寫筆跡紋理弱關(guān)鍵點(diǎn)可能不夠多實(shí)際效果取決于樣本清晰度需要先驗(yàn)證再?zèng)Q定是否投入。第三個(gè)方向是上輕量級(jí)模型。每個(gè)人準(zhǔn)備 5 份以上筆跡樣本裁剪成固定尺寸的灰度圖用小型 CNN兩三個(gè)卷積層就夠訓(xùn)練成特征提取器取倒數(shù)第二層的輸出作為筆跡 embedding。這一步能顯著提升對(duì)連筆字的魯棒性代價(jià)是標(biāo)注成本——至少要幾十個(gè)人的樣本才能訓(xùn)起來。驗(yàn)證方法也順手把提取到的特征向量導(dǎo)出成 CSV用 t-SNE 降維到二維平面畫散點(diǎn)圖同一人的筆跡點(diǎn)聚得攏說明特征有效聚不攏就回頭加數(shù)據(jù)或調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)。最后分享一個(gè)我自己的教訓(xùn)最初做這個(gè)系統(tǒng)時(shí)調(diào)參全靠目測(cè)覺得“看起來挺像”就完事。后來同一批算法換了一臺(tái)掃描儀識(shí)別率從 85% 直接掉到 40%。從那以后我再也不憑感覺設(shè)閾值每次都會(huì)把距離分布直方圖打出來看兩個(gè)分布的重疊面積決定要不要?jiǎng)犹卣鞫皇侵徽{(diào)閾值硬掰。這套系統(tǒng)的價(jià)值不在于算法多高級(jí)而在于它把“像不像”變成了可量化、可復(fù)現(xiàn)的數(shù)字——這本身就是圖像識(shí)別項(xiàng)目里最值錢的一步。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99re在线视频国产| 无码黑人精品一区二区三区三| 日韩国语字幕| 影音先锋乱伦资源| 激情色图| 久久久久久裸体| oumeisetu综合| 偷拍亚洲熟女视频播放| 亚洲青青草| 天天摸天天插天天日| 亚洲国产欧美一区二区潘金莲| AV在线播放网址| www老逼91| 操逼国产免费| 精品国产乱码久久| 啊啊啊啊二区好大| 很很干很很操| 国产亚洲日本精品在线| 亚洲欧美一区二区网址| 91丰满| 日韩精品三区四区| 亚洲丝袜色| 伊人久久艹| 国产亚洲中文不卡二区| 久久黄片国产一区二区| 日韩人妻丝袜中文字幕| 久肏视频字幕| 成年在线视频日本亚洲在线视频区精品江靖宇公司 | 中文字幕一二三区| 殴美,日韩国产伦精品| 99操碰| 一区二区三区四区免费视频| 91人妻最真实刺激绿帽| 国产精品第一区第一页| 久久系列| 亚州性9| 亚av顶级裸体一区二区三区四区五区| 国产精品2020| 久久久草成人网站久久久草成人久久久草久久久 | 欧美黄片视频在线观看免费| 亚洲AV无码国产精品久久久久| 国产高清午夜成人在线观看| 射综合网| 国内亚洲高清无码| 99热99在线播放激情| 操啊国产| 日日噜噜夜夜狠狠视频无| 成人精品无码| 天天懆天天日| 国产60页| 日韩字幕一区| 综合av社区| a男人的天堂久久一级A毛片| 桃花色综合影院| 人人干人人操人人爱| 国产精品96| 99无码| 中文不卡视频| 久久肏大逼| 日韩久久.一级黄色片| 一区二区三区亚洲| AV污污污污| 波多野结衣被操50分钟免费视频| 国产精选三级在线观看| 嗯啊不要啊在线 | 久久久久久久久久久精| 97中文字幕九区| 女优大全 - 91n| 青青操网| 家庭乱伦性爱av| 中文字幕中文字幕一区二区| 亚洲一区二区中文字幕| 男人的天堂啪啪啪啪啪蜜桃不卡| 午夜天堂网| 综合情欲网| 夜夜躁狠狠躁日日躁av| 秋霞一级视频在线观看免费| 综合五月天| 91色女| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 超碰97人妻自拍| 四虎免费在线观看| 999精品国产高清一区二区| 久久无码成人| www激情| 亚洲色五月| 桃色五月天| 色眯眯射| 久久日韩肥臀| 性暴力欧美猛交在线直播| 精品国产丝袜一区二区三区乱码| 色鬼在线综合| 久久精品国产亚洲粉嫩| 在线色导航| 狠狠干综合| 青青草十区九区爱夜| 啊啊啊轻点在线观看| juliaann欧美丝袜办公室| 欧美精品精品一区二区| 久久美女国产| 欧美72网页| 久久久极品| 乱操乱伦AV| 色婷婷电影网| 夜夜嗨TV| 综合欧美日韩在线观看| 精品小视频在线| 欧美色图91| 国产精品久久久久久照片| 香蕉婷婷| 日本高清一本二本免费不卡| 97在线精品观看视频| 淫淫总合网| 97网址97| 欧美色性爱| 熟妇一区二区三区| 熟女人妻精品一区二区视频| 国产热RE99久久6国产精品首| 亚洲精品天天影视综合网 | 蜜桃臀 后入 一区 二区 三区 在线| 亚洲Av噜噜一区二区三区妖精| 中文字幕在线观看网址| 97精品视频免费| 国产97在线视频| 草草影院最新网址| 超碰色中文| 美国日韩黄片| 青青草视频在线观看一区二区| 就去色综合| 五月婷婷基地| 欧美18老人禁| 久久国产视频专区一二三| 97综合国产| 免费久久精品麻豆一区二区av| 91久久18禁| 欧美黄片免费在线观看视频| 免看60秒涩涩视频| 日韩中文字幕二区| 大逼色网站| 大香蕉黄色一区| 精品97久久综合| 人人摸.人人色| 亚洲一二三精品久久网| 国产日韩无码一区二区三区久久区| 色性综合| 狼人狠干| 亚洲综合影视| 人人妻人人狠人人| 亚州高清AV| 欧美经典一区二区三区| 精品女同一区| 亚洲91极品| 69视频入口| 中文字幕少妇色| 大香蕉一区二区在线观看.| 欧美老妇女内射网址| AⅤ片水多多| 97超碰逼| 色欲天天综合网| 色色九区| 中国黑人三级片网站上区| 美国一区二区三区视频| 青娱乐91| 久草毛片电影怡| 可以免费观看的日韩av毛片| 超碰 国产熟女精品一区| 天天干天天狼在线视频| 国产熟女精品一区二区| 嗯嗯嗯啊啊在线观看| 九九色热| 成人5码视频| 啪啪自拍九九综合| 欧美综合色站| 夜夜操天| 欧美日韩 强奸乱伦| 亚州欧美另类| 国产地址二三| 亚洲中文制服诱惑| 精品久久99| 日韩av免费一级电影| 国产精品久久久久999| 久综合网| 精品成人动漫一区二区| 激情五月天中文字幕色| 伊人嫩草| 中国小夫妻勾搭露脸淫荡对白| 中国乱伦一区二区| 午夜舔阴达高潮视频免费看| 亚洲情色 自拍| 亚洲美女色图| 日韩伦理久 久久 清纯| 五月丁香网站| 亚洲中文字幕av| 99久国产精品午夜性色福利| 亚洲一区二区av| 久久骚| 久久久久久大| 亚洲五月丁香花狠狠干一区二区三区| 精品性爱一二三区| 精品亚洲黄色片 国产精品导航一区二区| 人人妻人人澡人人爽人人精品浪潮| 日产123区精品免费观看| 女人的天堂大香蕉网| 精品十八在线观看| 欧美激色| 热热色综合网| 天天日天天操VV| 国产夫妻一区二区| 在线啊啊啊啊| 区日韩亚洲乱码av电影| 欧美性爱97超碰| 91精品91久久久中77777| 久久人人爽爽人人爽人人片αV| 蜜桃久久一区二区| 亚洲色电影在线| 91少妇通奸网站| 国产精品久久久久久久久久久久久久久久久久| 丰满欧美少妇| 91大胆欧美| 九九热最新| 婷婷伊人网| 天堂中文日本在线观看| 性影在线视频| 老司机老司机午夜影院| 午夜啪啪片| 久操网视频| 东京热视频网| 色五天伊人| 国产精品麻豆视频网站| 久久精彩免费视频| 欧美拳交在线播放| av优播| 欧美亚洲激情小说| 97资源超碰| 色婷婷99| 在线视频一区二区传媒| 欧美亚洲厕所精品偷拍91| 欧美色图成人网一区二区 | 爱爱60秒免费视频| 插老姨肥穴| 久久精品夜色国产亚洲AV| 色婷婷综合网站| 九九天堂| 一区二区国产视频在线观看| 亚洲色图 综合| 蘋果手機免費看成人Av| 我爱操| 91观看 国产白丝| 97操b| 91一区二区三区蜜桃| 激情熟女12P| 亚洲国产精品有声| 六月色婷婷| 欧美色五月| 在线啊啊啊啊| 亚洲日韩狠狠撸视频| 天天综合官网| 亚洲精品亚洲人成在线麻豆| 五月天婷婷综合网| 日本999精品视频| 国产偷人妻精品一区二区在线| 午夜精品人妻二区三区| 国产97亚洲| 欧美1区二区三区公司| 嫩草影院在线观看精品| 欧洲综合视频| 久久久久女教师免费一区| 精品欧美老熟女一二区| 偷拍自拍在线视频观看| 亚洲丝袜天堂| 欧美色图在线视频少妇| 超碰95| 欧美日韩岛国大片在线观看| 五十路熟女工口 | 精品国产乱码久久久兰草影视| 中文字幕第95页| 亚洲国产精品无码AV久久久| 熟妇熟女亚洲天堂网| 超碰欧美在线欧美| 国产精品视频在线观看| 333kkkk·亚洲com久久| 一区 欧美 日韩 麻豆| 中文字幕欧洲有码| 女性喷水高潮在线观看| 亚州情色j区| 久草线上视频免费看| 亚洲无992tv| 无码聚合| 久久久精| 日本免费一级AAA大片器 | 伊人991| 永久免费观看的毛片的网站| 国产精品色色| 婷婷五月天色网| 翔田千里AⅤHD无码| 天天插天天干| 老熟乱一区二区三区四区| 亚洲激情综合另类男同| 人妻美腿丝袜制服诱惑综合天堂-| 中出人妻中文字幕91在线| A 在线网址| 二区熟妇韩日| 亚洲熟女av中文字幕| 人、人、摸,人、人、草| 97色视频在线| 亚洲密乳AV| 欧美熟女激情| 国产二区视频在线观看电影| 亚洲色欲一区二区三区| 国产精品久久久| 色99在线| 张柏芝国产一区在线观看| 五月丁香综合网| 东京热,男人的天堂| jizzjizz欧美| 久久风骚城市| 视频在线观看免费一区二区三区| 亚洲成人妻日韩在线| 综合 欧美 亚洲 日本| 国产精品久久久久久久免牛肉蒲团 | 伊人91| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 日日摸夜夜夜夜爽| 久久久久国色αv免费观看| 狠狠激情综合狠狠操中文字幕| 97超碰中文字幕| WWW黄片COM| 久久久久女教师免费一区 | 97在线观看免费| 操逼网站视频漫画国产| 白嫩少妇| 天天插夜夜爽| 99亚洲天堂| 亚洲欲色| 大香蕉男人的天堂| 蜜桃av综合网发布| 中文字幕在线免费观看 | 无码高清操逼| 中文字幕女同在线| 99色综合| 不卡中文字幕aⅴ在线| 2017超碰| 人妻激情另类| 啪一啪免费视频| 夜夜夜爽www精品视频| 亚洲麻豆精品二区三区| 狼狼色丁香久久婷婷综合五月| 草B在线| 欧美天天拍| 黄色无码高清黄色无码网站| 欧美中文狠| 久久性爱大全| 香蕉热人人精品| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 狠狠狠狠狠狠| 精品性爱一区二区| 日韩视频中文字幕| 天天在线91| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 综合av社区| 精品免费成人久久| 色噜噜人妻丝袜AV资源| 色婷婷在线视频| 精品久久久久久中文字幕三区 | 国产欧美精选自拍一区| 9ⅰ久久久天天| 日本一区三级韩国| 日韩人妻一区二区精品| 人人操肉肉| 欧美第二页| 日本二区不卡| 亚洲精品97中文字幕| 久久久久久性爱片| 伊人AAA| 18禁中文字幕| 久久亚州精品成人Av无| 伊人国产成人av网站| 国产自偷| 日本黄页视频在线观看| 美日韩在线不卡人妻| 欧美美女自慰一区二区三区| 天天日天天色| 九九aV| 日欧亚洲二三区大片不卡| 翔田千里AV无码秘 三区| 东京热毛片调教| 少妇久久久免费| AV中文字幕剧情1区2区3| AV中文在线可看| 欧美日韩中文亚洲v在线综合| 国产精品ⅴ无码大片在线看.| 亚州色综合| 99精品在线| 日韩av情韩国爱禁区av一区二区| 久久国产精品熟女人妻| 丝袜视频一区二区在线播放国产中文| 蜜色网色哟哟| 色爱欲亚洲| 夜夜嗨AV蜜臀av| 精品免费1| 北京专精特新企业招聘信息| 一区二区三区 丝袜 高跟 美腿| 精品精品精品| 99青草| 超AV色女| 精品人妻一区二区乱码一区二区 | 亚洲欧美碰碰| 日本韩国国产精品一区| 夜色AV无码手机在线影院| 日韩人妻制服丝袜av| 欧美日韩不卡a片| 久久社区一区二区三区| 综合网色| 91爱综合| 成人熟女区| 超碰97久久国| 96超碰网| 99久久久无码精品国产人| 久久国产免费激情视频| 日韩免费av片高清无码| 韩日性爱av| 国产小u女在线观看| 色婷婷激情| 91 在线亚洲| 蜜臀人妻少妇久久在线观看| 欧美熟妇乱码在线一区| 九九国产| 操熟女91| 国产AV久久野战精品| 欧美亚洲日本激情在线| 久操B网| 精久久久91| AV久日| 久久专区| 日韩一区二区高清在线观看的| 3d成人精品一区二区| www99热| 亚洲少妇在线影音| 中文字幕免费在线观看| 日本中文熟女视频| 久久精品性| 五十路熟女工口 | 黄色小视频日本txt| 美女一区二区国产精品| 天综合网| 精品人妻一区二区三区免费视频| 日韩操逼HD| 超踫中文字幕| 9长久久精品| 丝袜美腿亚洲| 99视频只有精品| 禁十八久久| 91老熟女91老女人| 久久欲| 丁香激情网| 国产精品久久久久久久久久久久久久久久| 欧美色999| 性爱1区| 久久有碼| 国产精品成久久久久午夜午夜| 免费黄色A片| 欧美男女午夜啪啪| 成人精品久久| 久久高清欧美国产| 韩国国产欧美情侣视频在线| 搡老女人老熟女91| 少妇 综合| 99re视频在线播放青草| 久久一区二区三区入口| 91国产美女丝袜足交精品视频 | 久9无限国产| 黄片色区软件| 欧美亚洲涩涩| 亚洲图片日本AⅤ欧美在线| 五月婷丁香| 女上位精品在线| 蜜桃视频成a人v在线| 99免费视频| 久久成人东京热人妻| 无码黑人精品一区二区三区三| 99re8超碰| 国产精品不卡一区二区电影| 日韩pv中文| JuliaAnn丝袜熟女系列| 青青草视频这里只有精品| 久久久亚洲精品中文字幕人妻| 亚洲精品啪视频| 中文字幕av丝袜| 久久久久久久国产视频| 内射中国少妇高清视频免费视频 | 久久久专区| 金莲网址| 蜜桃午夜视频一区二区| 久久99视频| 台湾佬大香蕉| 东京热男人的天堂网| 欧美色图第一页| 97视频在线观看播放与子乱对白在线……| 亚洲色图91| 亚洲 欧美 另类 综合 偷拍| 校园春色 欧美| 亚洲。日韩。欧美| 国产一区二区成人av在线播放| 亚洲男人的天堂V| 久久久精品中文字幕爱豆| 伊人青青草久久| 成人a大片在线观看| 公司1区2区3区精产精| 天天天天天干夜夜夜夜夜操| 91A欧美电影网站| 精品一区二区三区蜜桃臀赵总 | 福利伊人玖玖国产| 麻豆一区在线| 免费毛片在线播放| 91超碰在线| 国产精品视频在线播放| 曰韩无码777| 99热| 日韩欧美中文字| 综合激情五月丁香| 人人做天天爱| 亚洲se电影| 久久理论字幕视频| 中国东北熟女老太婆内谢| JuliaAnnXXX888| 澳门成人网站久国产日韩| 91强热人妻| 欧美78P| 国产 大胆 对白| 午夜福利精品| 九九热AV| 精品一区二区2| 97香焦色区| 日韩av在线免费网站| 国产极品馒头逼| 超碰这里有精品| 台湾佬中文娱乐自偷自拍| 国产综合网站在线播放| 天天肏视频| 亚精品无码毛片一区二区三区| 色情综合网| 亚洲字幕一区二区| 久久精品熟女亚洲AV麻豆软件| 麻豆黄站| 91成人在线| 亚洲性爱高潮影院| 日本在线不卡v二区| 日韩欧美福利视频看看| 日韩精品-原创伙伴| 亚洲伊人久久精品影院| 美女刺激久久国产欧美| 欧美人妻精品一区二区| 日本人妻中文字幕精品| 91香蕉国产尤物视频| 欧美日韩亚洲少妇寂寞影院正在播放 | 这里只有精品视频在线观看麻豆| 99人妻| 综合自拍| 亚洲欧洲无码一区夜| 91殴美大片| 99爱久久视频频| 屌逼麻豆| 婷婷激情五月综合| 91丨九色丨东北熟女| 国产精品成人蜜臀AV在线| 国内毛片无遮挡国产| 国产高清自拍视频| 99久久久无码国产精品性啊聊| 99热 按摩 日韩| 亚洲狼狼干综合1| 超碰 另类 欧美 | 国产热av| 国产女人9999| 91久久精品美女高潮喷水| 欧美A√综合网 | 熟妇激情| 久久精品人妻一区二区三区| 欧美色图片欧美色图| 日韩一级二级三级免费看完整版国语版 | www.91人妻.com| 国产欧美日本亚洲精品| 亚洲黄色视频在线观看视频| 一本色道无码DVD中文字幕| 天天射夜夜操| 色黄污美女啪啪啪免费网站| 五月婷婷丁香六月丁香| 国产亚洲日韩在线三区黑人| 网页导航五月天免费一二三区| 久久久久久久性爱| 偷拍偷窥与盗摄视频专区| 乱抡国产91| 亚洲精品国产熟女久久久久久| 高清国产成人无码| 亚洲精品美女久久久久久久久| 婷婷综合五月| 亚州精品一区二区三区香中文字幕在线| 色性综合| 美国久久一二三四| 啊啊啊啊啊舒服| 清纯唯美综合| 中国熟女老妇仑乱一区二区三区| 亚洲囯产精品女人久久久| 久久精品国产亚洲AV片多多 | 亚洲国产一级精品毛一级精品看免费视频| 精品国产久热在线观看| 久久99热这里只频精品6学生| 精品人妻二区三区| 亚洲精品白丝| 国产白丝AV| 成人一级性爱| 丁香六月综合激情| 久久99999| 青草精品视频一日本久久久久网站| 男人天堂网站| 亚洲色图欧美视频| 狼人综合婷婷激情四射| 狠狠躁日日躁夜夜躁A| 99精品九九九九九九| 国产亚洲福利第一页丝袜| 超碰导航97| 人人干黄色| 韩国一级做a久久久久| 亚洲淫色网中文| 97久久久久| 97精品熟女少妇一区| 天天干,夜夜爽| 日本不卡五区| 亚洲av综合色区无码一| 国产超碰| 亚洲综合小视频小说在线观看| 人妻熟女一区二区三区视频| 国产成久久综合片| caorenqi shipin| 精品射1999| 亚洲国内精品成人不卡| 欧美97爱| 97人妻碰碰中文无码久热丝袜| 蜜臀AV成人精品蜜臀AV久久| 91熟女丨老女人| 无码日韩人妻av一| 欧美视频在线第3页| 丰满人妻一区二区中文| 岛国1区2区3区在线观看| 色五月大香蕉| 夜夜做夜夜爽精品视频| AV在线性爱| 丰满少妇一区二区三区四区观看| 久久综合97| 91人精品妻入口| 人妻天堂综合网| 欧美偷| 青娱乐久久艹| 大香蕉伊然在亚洲91| 东京热视频网| 嗯……啊…嗯嗯…啊…好舒服| 性一级黄色录像片网站导航| 激情AV| 青青草中出视频 | 日韩精品一区的| 九9精品| 日本亚洲熟女视频| 少妇特黄一区二区三区| 天天干天天狼在线视频| 一区二区 日韩 欧美 国产 传媒| 欧美中文字幕精品人妻| 欧美日韩情色一区二区| 欧美姓爱综合网| 丁香久久| 亚洲性网| 2019AV天堂| 久久久久久久伊人精品| 韩日精品福利视频一区不卡在线免| 四虎午夜影院| 日韩99999色| 在线毛片片免费观看| 亚洲自拍另类丝袜综合| 黄人人操人人操| 91粉芽高清在线一区二区| 欧美天天综合网| 99国内精品| 狠狠操,使劲操| 色情亚洲日本成人| 不卡av在线中文字幕| 激情视频一二三| 国产女人成人精品视频| www欧美91| 97亚洲性爱| 天天谢天天干| 精品乱码在线观看| 色婷婷综合网| 精品一级毛片在线观看| 欧美日韩精品国产91| 强奸乱伦大香蕉网| 精品视频在线观看| 五十路熟女工口 | 夜草欧美| 99精品热| 国产AAAAAABBBBB| 亚洲性综合11| 啊嗯好大视频在线观看| 熟女精品va中文字幕| 欧成人精品一区二区三区| 天天日日日射| 草草电影院| 精品人妻一区二区乱码一区二区| 国产在线精品偷| 精品久久久久久久| 九九九九免费视频| 国产农村妇女精品一| 女人高潮大叫一级毛片| 欧美大香蕉久| 少妇高潮九九九九| 免费男人的天堂| 日本一区99| 97九色人妻| 九色视频91| 亚洲欧洲日韩国产自在线| a级免费在线观看| 高精欧美色| 天天影视网色欲色香| 亚洲91网。| 色蜜AV| 色情综合| 丁香五月婷婷基地| 逼逼逼逼操操操操操操操操操午夜剧场| 国产精品熟女一区二区三区| 九九九九精品在线| 国产91专区| 加勒比伊人影院| 国产熟妇一区二区| 97se综合网| 97香蕉人人乳| 亚洲男人的天堂一区二区| 国产后入精品| 欧美操人| 91久久久久免| 嗯啊不要啊在线 | 国产熟妇一区二区| 日本 免费 一区二区三区 久久香蕉| 国产精品交换一区二区| 天天插天天射| 亚洲激情综合| 亚洲情色第一页| 日本人体九九九九九九| 激情四射婷婷四五月天| 成人AV素股で擦久久| 狼天天狼天天大香蕉| 91爱综合| 爱欲AV| 性生活久久久久久久久久| 色婷婷婷五月天激情四射| 熟女中出视频| 操逼999| 国产AV人人夜夜澡人人爽麻豆| 天天日天天射天天干| 国产中出内射一区二区| 欧美色图偷拍另类| 老师充足的奶水小说| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 人妻无码后入| 国产欧美黑人丰满在线| 精品白丝一区| 99av| 日本精品一级二级三级| 精品国产一区二区三区四区在线看| 国产高清无码一区三区二区| 国产小视频91| 99亚亚热| 99久热精品99re6热| 久久偷偷色综合蜜桃| 欧美97网| 国产高清视频无码在线| 亚洲av影音先锋| 日日夜夜狠狠| 久久亚洲不卡一区二区三区| 成人精品水蜜桃久久久久久久| 夫妻AV网站| 秋霞Av理论一级在线| 日本欧美一区二区三区免费| 巨爆乳肉感一区二区三区竹菊影视| 亚洲色图大香| 色网综合网| 男人久久天堂| 这里只有精品视频在线观看麻豆| 国产小u女在线观看| 天天操女人| 国产欧洲精品亚洲午夜拍精品| 色爱亚洲| 国产传媒操逼视频| 人妻啊啊人妻啊| 粉嫩AV一区夜夜嗨| 天天拍夜夜| 午夜精品五区| 日本久操视频| 亚州精品人妻一二三区| 偷拍偷窥与盗摄视频专区| hd成人一区二区在线| 97国产精品国| 91热| 精品亚洲国产成人精品| 麻豆视频test| 亚洲乱熟女一区二区| 国产久久免费精品视频| www五月| WWW美腿丝袜香蕉中文| 蜜臀久久99精品久久久久久无删减| 日本欧美一区二区三区免费| 91丝袜在线观看视频在线观看| 欧美手机在线综合| 欧洲综合无码| 夜夜爽妓女| 天天日天天干少妇日| 精品v日韩欧美国产| 亚洲熟妇无码一区二区三区| 校园春色亚洲色图| 黄aaaaaaaaaaaaaaaaaa色网站| 中文字幕日韩精品一区二区三区| 蜜臀久久99精品久久久久久婷婷| 国产精品香蕉热久久新品| 91中文精品日韩欧美在线 | 韩国三级三级BD在线| 97亚洲色图| 日韩激情中文字幕有码| 久神马| 妇女性内射冈站HDWWWCOM| 国语人妻精彩刺激| 九九九九九九九九九国产精品| 96久久精品一二三区色欲| 嗯嗯啊啊好疼| 日韩中文字幕精品一区在线| 中文字幕乱碼在线| 国产偷拍网站| 国产精品制服丝袜中文字幕日韩一区二区三区 | 屁股久久久久久久久| 亚洲欧洲综合成人av一区| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 国产日韩欧美| 亚洲无吗在线视频| 精品中文一区二区| 大香蕉强奸乱伦| 操淫穴亚洲五月丁香 | 丁香六月啪啪| 91宗合网| 亚洲色图久久精品蜜| 亚洲色婷婷综合久久久久中文| 二男一女成人A片| 亚洲乱色熟女一区| 色综合加勒比四四季| 欧美精品宗合| 蜜伊人色综合97| 免费家庭乱伦视频| WWW.加勒比人妻一区不卡.com| 18禁无码永久免费无限制| 天美一二三在线观看Av| 亚洲男人久久综合天堂| 欧美夜色| 精品性爱一二三区| 东京热毛片调教| 欧洲色色| 亚洲 无码 偷拍| 性性欧美| 91狼人| 99999国产| 伊人97色天使| 日韩精品人妻一| 噜噜瑟| 日本三级韩三级99久久| 国产粉嫩蜜臀av一区二区三区| 97色色色综合网站| 国产亚洲禁久一区二区 | 亚洲精品人妻在线| 素人伊尹大香蕉免费下载视频| 91美女中出| 人妻精品视频一区二区三区| 亚洲综合九| 97色婷| 国产精品不卡一区二区三区av| 亚洲天堂日本| 美女刺激久久国产欧美| 久久日韩精品一区二区| 职场同事知名国产国产精品久久欧美日韩 | 操www| 日韩天天综合| 伊人网在线观看| 中文字幕一区日韩精| 女性喷水高潮在线观看| 中文字幕伊人| 丁香五月天婷婷姐| 亚洲一区二区中文字幕| 97香蕉网| 伊人嫩草| 草久久久| 色蜜AV| 3P乱轮视频| 亚洲精品97| 亚洲色图第四色| 岛国小电影| 国模精品一区二区三区苹果色戒| 亚洲性爱成人| 国产熟女无套内射| 九九综合网| 少妇诱惑视频| 亚州国产精品乱| 69精品久久久久中文字幕| 亚洲精品一区二区日本| 天天综合~91| 欧美在线l亚洲| 无码欧美有限公司| 一本久道久久综合狠狠爱| 天天弄欧美| 狠狠操狠狠| 在线精品福利免费播放| 午夜国产乱伦视频| 人人摸人人入| 中文字幕三四五区| 99re99在线视频| 亚洲清纯唯美| 精品无码人妻一区二区免费蜜桃| 久久综合18p| 色九九九九久| 五月丁香激情综合网| 91丨熟女丨丰满熟女| 日韩在线一区高清在线| 最新亚洲黄色免费电影| 久久国产乱子伦精品免费女,网站| 啊啊啊啊啊好舒服视频| 殴洲老熟女| 亚州色图狠狠干| 亚洲伊人久久精品狠狠在线| 99国产人成精品| 亚洲少妇喷视频看| 五月激情天| 色播丁香| 欧美激情综合色综合啪啪五月| 97人人模人人爽人人| 熟女突然公开看18禁影片 | 亚洲十八禁止| 偷拍五区| 在线小说视频一区| 好一吊区二区| 色偷偷人人玩人人舔人人操人人摸人人爽| 91久久久久久久久18| 日产国产精品中文久久婷婷| 九九热九九热| 亚洲天堂人妻一区二区| 久久国产精品一级二级三级| 东京热亚洲一区二区| 久久久一区二区三区四曲免费听| 99精品在线观看| 男人的天堂2019AV| 91国产精品熟女| 亚洲欧美天堂在线| 亚洲在高跟鞋自慰久久在色线| 嗯嗯,好大,好爽,好骚| 性爱AV天堂| 啊啊啊久久久视频| 中韩中文字幕在线观看| 色臀av| 色综合国产在线观看| 久久中文字幕一区不卡| 国产曰批免费观看久久久| 日韩精品亚洲专区在线影视| 高清国产av无码| 亚洲综合春色| 裸体1区| 成人九九| 日本一区二区中文字幕久久| 欧美一区二区福利在线| 在线观看黄色电话| 亚洲欧美大香蕉| 久久中日麻豆| 9美女超碰在线免费观看| 欧美成人性活片| 天天躁日日躁成人字幕aⅴ| 国产三级中文有码在线视频| 丁香五月激情网| 美女的肌被草喷水视频| 精品久操| 在线免费观看高清无码视频| 口爆吞精在线观看| 免费看毛片操穴| 欧美少妇性乱| 变态综合色| 日韩精品一区二区日韩| 丁香六月婷| 久久一二三四五六七八九区区| 91模特在线观看| 人人操人人干xxx| 色青青久久影视| 另类亚洲图色| 99re视频在线播放青草| 亚洲一区二区三区不卡国产欧美| 日韩婷婷| 9999亚洲精品| 日韩在线国产字幕| 亚洲最大无码中文字幕网站 | 亚洲Av诱惑| 日本成人A片免费看| 91蜜臀在线久久久久| 激情情色五月天| 韩国手机不卡无码三级视频| 五月激情小说| 欧美亚洲清纯| 中国一级操逼视频| 青青草在线成人视频| 床戏久久久av一区二区麻豆| 神马久久久久久伦理片| 一区二区三区 丝袜 高跟 美腿| 欧美丝袜美女电影一二三四区| 日欧操屄| 91九九九馒头| 久久久不卡| 天美麻花大全视频| 另类成人首页一区| 国产精品蜜臀久久久久无码AV| 校园春色 男人天堂| 美女天天干| 国产综合永久精品日韩鬼片| 躁躁日曰躁2020| 校园春色综合网| 中文字幕黑人大片| 日韩99999| 亚洲国产无码精品首页久久久| 欧美天天综合站| 中文日本免费高清| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 中文一区二区婷婷视频| 麻豆精品.欧美精品.日韩精品.| 欧美日韩中文亚洲v在线综合| 久久夜精品一区二区三区| gogogo免费高清看中国国语| av在线浏览| 中文字幕av亚洲精品| 东北黄色电影| 神马九九| 高潮内射在线| 69XX一中文字幕人妻91 | 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 日韩av在线精品观看| 天天透伊人| 午夜性刺激视频免费观看| 亚洲日韩AV视色| 老熟女91| 2025亚洲男人天堂| 一级二级三级黑人无码| 日韩三级网址| 亚洲欧美一区二区网址| 国产乱弄免费在线视频。| 日韩成人精品| 日韩人妻无码精品系列| 亚洲综合另类小说色区亚洲成av人片在www| 中文字幕版| 天天干干天天干干| 风骚少妇视频中文字幕| 另类一区| 久久系列| 伊人成人情色综合| www亚洲免费| 久久久久久裸体| 丁香五月婷婷色| 97在线免费视频| 亚洲情色在线| 亚洲偷拍自拍在线视频| 国产精品久久泡妞网站| 色嘟嘟人妻天堂网| A级毛片在线看免费| 色香综合天天影视综合 | 传媒在线观看一区二区三区| 一区二区三区四区色图| 深夜福利黄片| 9精品久久| 91一起操| 欧美日韩国产一区二区小黄片大全| 91av天美性媒精品视频| 久9久9久9久9久9久9| 亚洲国产亚洲天堂| 久操凹凸视频| 欧美亚男人的天堂| av网站在线观看了| 久久亚洲一区女同性恋中文字幕| 99re9在线| 性色av蜜臀av色欲aV| 麻豆熟妇乱妇熟色A片在线看| 啪啪视频mP4| japan日本高清乱xxxx| 国产美女自拍视频| 999综合色| 久久精品国产精品亚洲艾通辽熟妇 | 欧美性猛交美女自慰91| 四虎影库国产精品免费| 日韩人妻精品| 欧美亚洲日韩16色| 综合欧美日本三级| 午夜啪| 日韩色图 一区二区| 久久久亚洲精品电影免费看| 欧美性爱www免费版| 欧美综合天天| 欧美在线|亚洲| 亚洲色9| caorenqi shipin| 91快色色色色色| 欧美巨大性舒爽顶到了| 91亚洲黄色网| 一区二区不卡| 亚洲不卡AV在线| 欧亚免费视频| 日韩综合成人免费视频| 日本天天干天天操一区| 久久精品人妻一区二区三区| 夜夜操av亚洲一区二区| 久99| 亚洲色图殴美色图激情乱伦| 欧美大波激情xxxx| 777超碰| 青青草色AV| 无码九九九九| 夜夜骑天天燥| 久久国产精品,久久国产| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 宗合情欲网| 天堂岛av| 99久久婷婷国产综合精品草原| 老司机老司机午夜影院| 偷拍三区| AV麻豆免费一区| 韩国一级做a久久久久| 亚洲欧美在线丝袜| 青青草原成人| 九九九九九九免费视频| 少妇色综合| 超碰1997| 日本精品久久久久久久| 久久超碰98| 久久久久久波多野吉衣高潮| 亚洲av热热色| 久久九七| 日韩99神马视频片| 人人澡综合涩| 久久久久久91香蕉国产| 麻豆黄四叶草网站| 国产福利夜| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 97日韩欧美亚洲| 91精品国产长腿丝袜美女| 午夜久久久| 亚洲男人天堂视频| 天堂av最新电影网| 91精品国产91久久久久久久久久久久| 97爱碰| 91痴汉| 春色91| 天天综合亚洲综合| 波多野结衣之双飞调教在线播放 | 福利伊人玖玖国产| 欧美性爱一级操| 亚洲日韩精品在线播放| 依人大香蕉| 亚洲天堂色图| 涩爱AV在线|