99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

OpenCV實(shí)戰(zhàn):5個(gè)案例從顏色識(shí)別到AI超分辨率修復(fù)

OpenCV實(shí)戰(zhàn):5個(gè)案例從顏色識(shí)別到AI超分辨率修復(fù) 寫OpenCV的實(shí)戰(zhàn)文章我其實(shí)想了很久。網(wǎng)上的教程一抓一大把但大多數(shù)要么是官方文檔的平鋪直敘要么是貼一段代碼讓人自己跑跑完了還不知道中間每一行到底在干什么。這篇不一樣。我挑了5個(gè)自己在實(shí)際項(xiàng)目里反復(fù)用到的案例從最基礎(chǔ)的顏色識(shí)別到最后的AI超分辨率修復(fù)每一個(gè)都配了完整的原理拆解、代碼邏輯和踩坑記錄。不敢說(shuō)做到極致但跟著走一遍你對(duì)OpenCV的認(rèn)知會(huì)扎實(shí)很多。這5個(gè)案例的難度是遞進(jìn)的前兩個(gè)偏像素級(jí)別的操作第三個(gè)開(kāi)始接觸特征檢測(cè)第四個(gè)涉及幾何變換第五個(gè)直接跨到深度學(xué)習(xí)的應(yīng)用。也就是說(shuō)你不僅是在“學(xué)OpenCV”還在把整個(gè)計(jì)算機(jī)視覺(jué)的常見(jiàn)路徑蹚一遍。如果你正打算入行CV方向或者工作中突然要用OpenCV解決某個(gè)圖像問(wèn)題這篇文章可以幫你省掉大量翻文檔的時(shí)間。1. 為什么是這5個(gè)案例1.1 每個(gè)案例解決哪一類真實(shí)問(wèn)題選案例思路和選工具一樣要覆蓋不同的應(yīng)用場(chǎng)景而不是貪多求全。我從實(shí)際業(yè)務(wù)里篩了很久最終敲定這5個(gè)因?yàn)樗鼈儽澈蟮哪芰S度完全不重疊。顏色識(shí)別與分割解決“如何按顏色把對(duì)象從圖片里摳出來(lái)”這一基礎(chǔ)命題代表顏色空間轉(zhuǎn)換和掩膜操作。形態(tài)學(xué)操作解決“圖片里的噪聲怎么清理、斷開(kāi)的線條怎么接上”這類二值圖像加工問(wèn)題代表腐蝕、膨脹、開(kāi)閉運(yùn)算。邊緣檢測(cè)與人臉檢測(cè)解決“怎么從圖像里定位目標(biāo)和邊界”這個(gè)目標(biāo)檢測(cè)的老祖宗問(wèn)題代表梯度計(jì)算和級(jí)聯(lián)分類器。特征匹配與圖像拼接解決“如何把兩張有重疊區(qū)域的圖合成一張全景圖”這個(gè)幾何視覺(jué)問(wèn)題代表特征點(diǎn)提取和透視變換。圖像去霧與AI超分辨率解決“圖像質(zhì)量差、清晰度低怎么修復(fù)”這個(gè)畫質(zhì)增強(qiáng)問(wèn)題代表物理模型先驗(yàn)與深度學(xué)習(xí)后處理。這5個(gè)能力放到實(shí)際項(xiàng)目中對(duì)應(yīng)的就是工業(yè)分揀線的顏色篩選、醫(yī)學(xué)切片噪聲清理、安防人臉抓拍、機(jī)器人視覺(jué)里的多幀拼接、老照片修復(fù)和老視頻增強(qiáng)。你會(huì)發(fā)現(xiàn)它們之間不是孤立的四和五都是現(xiàn)在商用系統(tǒng)里的高配需求一二是底座。1.2 環(huán)境準(zhǔn)備版本選擇和依賴安裝我建議直接用Python 3.9以上版本配合OpenCV 4.x。為什么不建議OpenCV 3因?yàn)?.x對(duì)很多API做了精簡(jiǎn)和性能優(yōu)化網(wǎng)上新教程也基本默認(rèn)4.x你用3.x會(huì)遇到很多“函數(shù)不存在”的問(wèn)題。安裝方式很簡(jiǎn)單pip install opencv-python opencv-contrib-python numpy需要注意兩個(gè)包都要裝。opencv-python是主庫(kù)包含了核心的cv2模塊opencv-contrib-python提供了SIFT、SURF等非免費(fèi)算法這里說(shuō)的“非免費(fèi)”是專利層面的事實(shí)際開(kāi)發(fā)中常用。如果你只裝了opencv-python后面調(diào)用cv2.SIFT_create()會(huì)直接報(bào)錯(cuò)找不到屬性。后面的AI超分辨率案例還需要PyTorch環(huán)境裝CPU版本就夠了跑推理不吃力pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu測(cè)試環(huán)境是否正常跑一行代碼import cv2 print(cv2.__version__)能輸出版本號(hào)就說(shuō)明環(huán)境OK了。1.3 一個(gè)必須記牢的基礎(chǔ)概念OpenCV里的圖像就是numpy數(shù)組很多人學(xué)了半天OpenCV還云里霧里的原因是沒(méi)意識(shí)到一件最重要的事圖像在OpenCV里就是numpy數(shù)組。一張灰度圖是二維數(shù)組行、列一張彩色圖是三維數(shù)組行、列、通道。import cv2 img cv2.imread(demo.jpg) print(img.shape) # 比如 (720, 1280, 3) print(img.dtype) # uint8即每個(gè)像素取值0~255那這跟實(shí)戰(zhàn)有什么關(guān)系關(guān)系大了。你后面做的每一個(gè)操作本質(zhì)上都是在對(duì)數(shù)組做數(shù)學(xué)運(yùn)算cv2.add是數(shù)組加法cv2.resize是數(shù)組重采樣cv2.inRange是條件篩選生成掩膜甚至卷積模糊就是用一個(gè)核在數(shù)組上做滑動(dòng)加權(quán)求和一旦建立了“圖像數(shù)組”的思維很多API就不再需要死記硬背你能推理出它大概在做什么。更妙的是你可以直接用numpy的操作做一些OpenCV沒(méi)有提供的事情比如用切片提取ROI區(qū)域face img[100:300, 200:400] # 裁剪出左上角坐標(biāo)(200,100)到(400,300)的區(qū)域這一個(gè)基礎(chǔ)操作在后面的所有案例里都會(huì)反復(fù)出現(xiàn)。還有一個(gè)特別容易踩的坑OpenCV讀取彩色圖片的順序是BGR藍(lán)綠紅不是RGB。所以你用OpenCV讀完圖再丟給matplotlib顯示顏色會(huì)偏藍(lán)偏怪。解決辦法是轉(zhuǎn)換一次img_rgb cv2.cvtColor(img, cv2.COLOR_BGR2RGB)這個(gè)坑我在案例一里還會(huì)再提因?yàn)轭伾樞蚋沐e(cuò)了你的顏色識(shí)別程序會(huì)得到完全錯(cuò)誤的識(shí)別結(jié)果。2. 案例一三行代碼搞定顏色識(shí)別與目標(biāo)分割2.1 為什么用HSV顏色空間而不是RGB如果你直接用RGB做顏色判斷會(huì)發(fā)現(xiàn)光照稍微變一點(diǎn)同一個(gè)紅色的RGB值就變了上午的紅色和下午的紅色數(shù)值差異巨大你設(shè)置的閾值要么漏檢要么誤檢。這是RGB顏色空間的本質(zhì)問(wèn)題它把亮度信息和顏色信息混在一起。為了把顏色判斷做得穩(wěn)定我們切換到HSV顏色空間。HSV把顏色拆成三個(gè)維度HHue色相也就是“這到底是什么顏色”用角度表示0到180SSaturation飽和度顏色有多濃VValue明度顏色有多亮這樣一來(lái)我們判斷顏色只看H值就夠。比如紅色的色相在0到10和170到180之間綠色的色相在35到85之間藍(lán)色的色相在100到130之間。只要光照不是極端異常H值相對(duì)穩(wěn)定。轉(zhuǎn)換成本極低一行代碼hsv cv2.cvtColor(img, cv2.COLOR_BGR2HSV)2.2 核心實(shí)現(xiàn)掩膜與按位運(yùn)算識(shí)別特定顏色并把它單獨(dú)摳出來(lái)標(biāo)準(zhǔn)流程只有三步轉(zhuǎn)HSV、生成掩膜、按位與。import cv2 import numpy as np img cv2.imread(color_demo.jpg) hsv cv2.cvtColor(img, cv2.COLOR_BGR2HSV) # 設(shè)定紅色的HSV范圍注意是BGR轉(zhuǎn)過(guò)來(lái)的HSV lower_red np.array([0, 120, 70]) upper_red np.array([10, 255, 255]) mask cv2.inRange(hsv, lower_red, upper_red) # 只保留紅色區(qū)域其余變黑 result cv2.bitwise_and(img, img, maskmask) cv2.imwrite(red_mask.jpg, mask) cv2.imwrite(red_result.jpg, result)cv2.inRange的意思很簡(jiǎn)單把hsv數(shù)組里每個(gè)像素和上下界比較在范圍內(nèi)的標(biāo)為白色255不在范圍內(nèi)的標(biāo)為黑色0。生成的mask就是一張黑白圖。cv2.bitwise_and是掩膜的靈魂操作。它把原圖和自身做按位與但只有掩膜白色區(qū)域才保留原圖的像素黑色區(qū)域直接變零。效果就是你要的顏色留下來(lái)了其他全部變黑。有一個(gè)細(xì)節(jié)紅色的H值范圍橫跨0度兩端紅色在色相環(huán)上是一個(gè)閉環(huán)的兩端所以處理紅色時(shí)通常需要兩個(gè)范圍拼接lower_red1 np.array([0, 120, 70]) upper_red1 np.array([10, 255, 255]) lower_red2 np.array([170, 120, 70]) upper_red2 np.array([180, 255, 255]) mask1 cv2.inRange(hsv, lower_red1, upper_red1) mask2 cv2.inRange(hsv, lower_red2, upper_red2) mask cv2.bitwise_or(mask1, mask2)2.3 顏色閾值怎么調(diào)用調(diào)試窗口而不是直接猜我見(jiàn)過(guò)太多新人在這里卡住寫了個(gè)顏色識(shí)別程序運(yùn)行時(shí)發(fā)現(xiàn)該識(shí)別的東西沒(méi)識(shí)別出來(lái)然后就一頓亂調(diào)S和V的上下限調(diào)了半天也不知道哪個(gè)參數(shù)起的作用。正確的做法是做一個(gè)帶滑塊的調(diào)試窗口實(shí)時(shí)看效果。OpenCV的cv2.createTrackbar可以在窗口里生成滑塊下面這段代碼可以讓你拖動(dòng)六個(gè)滑塊實(shí)時(shí)調(diào)整上下限并預(yù)覽掩膜效果cv2.namedWindow(adjust) cv2.createTrackbar(LH, adjust, 0, 180, nothing) cv2.createTrackbar(LS, adjust, 120, 255, nothing) cv2.createTrackbar(LV, adjust, 70, 255, nothing) cv2.createTrackbar(UH, adjust, 10, 180, nothing) cv2.createTrackbar(US, adjust, 255, 255, nothing) cv2.createTrackbar(UV, adjust, 255, 255, nothing) while True: lh cv2.getTrackbarPos(LH, adjust) ls cv2.getTrackbarPos(LS, adjust) lv cv2.getTrackbarPos(LV, adjust) uh cv2.getTrackbarPos(UH, adjust) us cv2.getTrackbarPos(US, adjust) uv cv2.getTrackbarPos(UV, adjust) lower np.array([lh, ls, lv]) upper np.array([uh, us, uv]) mask cv2.inRange(hsv, lower, upper) cv2.imshow(adjust, mask)調(diào)參的時(shí)候先固定S和V在比較寬的范圍比如50到255然后只調(diào)H的上下限把目標(biāo)顏色的H值范圍先框出來(lái)再慢慢收緊S和V把非目標(biāo)顏色剔除。我實(shí)測(cè)下來(lái)這個(gè)方法比憑空想?yún)?shù)高效十倍。顏色范圍這種東西在真實(shí)場(chǎng)景里因?yàn)楣庹?、攝像頭品牌不同差異很大沒(méi)有一勞永逸的數(shù)值。調(diào)試窗口調(diào)好以后把最終參數(shù)寫死到配置文件里即可。2.4 應(yīng)用擴(kuò)展如何計(jì)算目標(biāo)面積和中心位置識(shí)別顏色只是第一步業(yè)務(wù)上往往還要知道目標(biāo)的位置和大小。比如流水線上要抓取紅色物料你得給它一個(gè)機(jī)械臂坐標(biāo)。這步用cv2.findContours做輪廓分析contours, _ cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) for contour in contours: area cv2.contourArea(contour) if area 500: # 過(guò)濾太小的噪聲塊 continue x, y, w, h cv2.boundingRect(contour) cx, cy x w // 2, y h // 2 cv2.rectangle(img, (x, y), (x w, y h), (0, 255, 0), 2) cv2.circle(img, (cx, cy), 4, (0, 0, 255), -1)面積過(guò)濾很重要因?yàn)閕nRange生成的掩膜里經(jīng)常會(huì)有零星的小白點(diǎn)噪點(diǎn)它們面積小但會(huì)影響目標(biāo)計(jì)數(shù)。設(shè)定一個(gè)最小面積閾值就能把噪聲擋在外面。項(xiàng)目里我曾用這套方案給某自動(dòng)化分揀系統(tǒng)做過(guò)顏色篩選模塊。當(dāng)時(shí)最大的挑戰(zhàn)不是算法本身而是不同批次物料的表面光澤度不同導(dǎo)致同一顏色在HSV里的S值和V值漂移很大。最終采用的是“動(dòng)態(tài)閾值”方案每隔一段時(shí)間自動(dòng)采集一小塊區(qū)域的顏色分布動(dòng)態(tài)更新HSV范圍把誤檢率從最初的8%降到了0.5%以下。如果你的場(chǎng)景光照在變化這個(gè)思路值得借鑒。3. 案例二形態(tài)學(xué)操作讓二值圖像更干凈3.1 腐蝕、膨脹的直覺(jué)理解二值圖像黑白的mask圖里經(jīng)常有兩個(gè)問(wèn)題該有的區(qū)域有空洞和斷裂不該有的區(qū)域有零散噪點(diǎn)。形態(tài)學(xué)操作就是為治理這兩個(gè)問(wèn)題而生的。用一個(gè)不太精確但很直覺(jué)的類比腐蝕就像“向內(nèi)收縮”把白色區(qū)域邊緣往里剝掉一層膨脹就是“向外擴(kuò)張”把白色區(qū)域邊緣往外擴(kuò)一圈。在numpy數(shù)組上它們分別做的是“取局部最小值”和“取局部最大值”kernel np.ones((5, 5), np.uint8) eroded cv2.erode(mask, kernel, iterations1) dilated cv2.dilate(mask, kernel, iterations1)這里的kernel是結(jié)構(gòu)元素決定每次操作影響的范圍。5x5的方格是最常用的實(shí)際操作中你也可以用橢圓或十字形核對(duì)不同形狀的目標(biāo)做更精準(zhǔn)的處理。3.2 開(kāi)運(yùn)算和閉運(yùn)算噪聲清理與空洞填充在實(shí)際項(xiàng)目里我更常用的其實(shí)是開(kāi)運(yùn)算和閉運(yùn)算它們本質(zhì)上是腐蝕和膨脹的組合。開(kāi)運(yùn)算是先腐蝕后膨脹效果是去掉小的孤立的點(diǎn)。想象一下一群東西里有一粒沙子腐蝕把沙子連根抹掉了膨脹再把周圍完好的部分恢復(fù)原樣。代碼opening cv2.morphologyEx(mask, cv2.MORPH_OPEN, kernel, iterations1)閉運(yùn)算是先膨脹后腐蝕效果是填上小的空洞和裂縫。比如一條車道線可能中間斷了一小截膨脹把它接上了腐蝕再恢復(fù)線條粗細(xì)closing cv2.morphologyEx(mask, cv2.MORPH_CLOSE, kernel, iterations1)在真實(shí)工程里這兩個(gè)操作通常是結(jié)伴出現(xiàn)的先開(kāi)運(yùn)算清掉噪聲再閉運(yùn)算補(bǔ)上目標(biāo)內(nèi)部的空洞。用的時(shí)候要注意kernel的大小。kernel太大會(huì)把該保留的細(xì)節(jié)也腐蝕掉kernel太小又起不到清理作用。我通常從3x3開(kāi)始效果不夠就加到5x5靠實(shí)驗(yàn)調(diào)整而不是一開(kāi)始就貪大。形態(tài)學(xué)還有一種操作叫形態(tài)學(xué)梯度就是膨脹結(jié)果減腐蝕結(jié)果可以用來(lái)提取目標(biāo)的邊緣輪廓gradient cv2.morphologyEx(mask, cv2.MORPH_GRADIENT, kernel)這個(gè)在處理顆粒計(jì)數(shù)、細(xì)胞統(tǒng)計(jì)時(shí)意外地好用比Canny邊緣更干凈因?yàn)樗轻槍?duì)二值圖操作的不會(huì)受灰度梯度影響。3.3 典型實(shí)戰(zhàn)識(shí)別圖中所有瑕疵點(diǎn)并統(tǒng)計(jì)數(shù)量這個(gè)案例可以串起完整的形態(tài)學(xué)預(yù)處理流程。我處理過(guò)的原始圖像是一塊金屬表面的顯微照片腐蝕坑在灰度圖中顯示為暗色小點(diǎn)。當(dāng)時(shí)的流程是灰度化二值化目標(biāo)區(qū)域變白開(kāi)運(yùn)算去掉灰塵等微小亮噪點(diǎn)閉運(yùn)算把同一個(gè)腐蝕坑中的幾處斷裂縫隙連起來(lái)連通域分析統(tǒng)計(jì)瑕疵數(shù)量import cv2 import numpy as np img cv2.imread(defect.jpg, cv2.IMREAD_GRAYSCALE) _, binary cv2.threshold(img, 0, 255, cv2.THRESH_BINARY_INV cv2.THRESH_OTSU) kernel np.ones((3, 3), np.uint8) cleaned cv2.morphologyEx(binary, cv2.MORPH_OPEN, kernel, iterations2) filled cv2.morphologyEx(cleaned, cv2.MORPH_CLOSE, kernel, iterations2) num_labels, labels, stats, _ cv2.connectedComponentsWithStats(filled, connectivity8) real_count num_labels - 1 # 0是背景用cv2.connectedComponentsWithStats做連通域統(tǒng)計(jì)比f(wàn)indContours更直接因?yàn)槊總€(gè)連通域的面積、外接矩形、中心坐標(biāo)都在stats數(shù)組里天然適合批量統(tǒng)計(jì)。這里有一個(gè)心得分享給你二值化別用固定閾值。固定閾值在不同光照條件下完全失效我踩過(guò)這個(gè)坑。cv2.threshold配合cv2.THRESH_OTSU會(huì)自動(dòng)計(jì)算當(dāng)前圖像的最佳分割閾值雖然計(jì)算量稍大但對(duì)光照變化的適應(yīng)性好了很多。在實(shí)時(shí)性要求不高的場(chǎng)景里Otsu方案永遠(yuǎn)是首選。4. 案例三Canny邊緣檢測(cè)與人臉檢測(cè)4.1 Canny邊緣檢測(cè)的參數(shù)規(guī)律和完整流程邊緣檢測(cè)在圖像處理里的地位不用多說(shuō)。Canny是其中最經(jīng)典的方法它不是一個(gè)單一的算子而是一套完整流程高斯模糊降噪用Sobel算子計(jì)算圖像的梯度幅值和方向非極大值抑制把梯度方向上的非最大值點(diǎn)置零讓邊緣變細(xì)雙閾值檢測(cè)高閾值確定強(qiáng)邊緣低閾值確定弱邊緣和強(qiáng)邊緣相連的弱邊緣保留輸出最終邊緣圖代碼只有一行edges cv2.Canny(img, threshold1100, threshold2200)但兩個(gè)閾值怎么選這是很多人卡殼的地方。我的經(jīng)驗(yàn)是threshold1和threshold2的比例通常在1:2到1:3之間比較合理。threshold2過(guò)高邊緣會(huì)斷斷續(xù)續(xù)threshold2過(guò)低圖像里的紋理噪聲全被當(dāng)成邊緣。一個(gè)穩(wěn)妥的起點(diǎn)是(50, 150)如果邊緣太碎就兩者一起往上調(diào)如果邊緣太密就兩者一起往下調(diào)比例保持在1:3附近問(wèn)題不大。高斯模糊這一步非常關(guān)鍵。如果你發(fā)現(xiàn)檢測(cè)出來(lái)的邊緣毛刺特別多多半不是threshold的鍋而是沒(méi)有做足夠的降噪??梢韵扔胏v2.GaussianBlur處理一遍再送Cannyblurred cv2.GaussianBlur(img, (5, 5), 1.5) edges cv2.Canny(blurred, 50, 150)這個(gè)先后順序不能顛倒。先模糊再Canny邊緣質(zhì)量顯著提升毛刺少了一大半。原理也很簡(jiǎn)單Canny里的Sobel算子對(duì)噪聲極其敏感一個(gè)噪聲點(diǎn)就可能在梯度圖上激活一個(gè)邊緣響應(yīng)。模糊是過(guò)濾噪聲前置步驟別省。4.2 用Haar級(jí)聯(lián)做人臉檢測(cè)的核心代碼人臉檢測(cè)最直接的入門方案是OpenCV自帶的Haar級(jí)聯(lián)分類器。它的原理可以理解成把圖像劃分成很多小區(qū)域在每個(gè)區(qū)域里計(jì)算若干特征的值這些特征能反映出眼睛區(qū)域比臉頰區(qū)域暗、鼻梁區(qū)域比兩側(cè)亮等規(guī)律再用訓(xùn)練好的AdaBoost分類器去判斷這個(gè)區(qū)域像不像人臉。代碼用起來(lái)非常簡(jiǎn)單import cv2 face_cascade cv2.CascadeClassifier(cv2.data.haarcascades haarcascade_frontalface_default.xml) img cv2.imread(people.jpg) gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) faces face_cascade.detectMultiScale( gray, scaleFactor1.1, minNeighbors5, minSize(30, 30) ) for (x, y, w, h) in faces: cv2.rectangle(img, (x, y), (x w, y h), (0, 255, 0), 2)detectMultiScale有四個(gè)關(guān)鍵參數(shù)直接影響檢測(cè)效果scaleFactor每次搜索時(shí)窗口縮放的比例。越小越精細(xì)但越慢1.1是常規(guī)選擇minNeighbors每個(gè)候選矩形需要鄰近多少個(gè)矩形才確認(rèn)是人臉。越大越嚴(yán)格誤檢越少但也可能漏檢minSize目標(biāo)的最小尺寸。設(shè)太小會(huì)增加大量無(wú)效計(jì)算maxSize目標(biāo)的最大尺寸。范圍外的不檢測(cè)配合minSize能大幅提升速度如果你發(fā)現(xiàn)檢測(cè)速度太慢第一個(gè)要調(diào)的參數(shù)是minSize而不是scaleFactor。把最小值調(diào)到60x60甚至80x80計(jì)算量能降好幾個(gè)數(shù)量級(jí)因?yàn)槲覀兺ǔ2恍枰獧z測(cè)特別小的人臉。4.3 人臉檢測(cè)的工程化經(jīng)驗(yàn)多尺度與誤檢過(guò)濾Haar級(jí)聯(lián)檢測(cè)人臉實(shí)際使用中你很快會(huì)發(fā)現(xiàn)兩個(gè)問(wèn)題近距離的人臉容易漏檢背景里的非人臉容易誤檢。第一個(gè)問(wèn)題核心原因是默認(rèn)參數(shù)只覆蓋有限尺度范圍。再加上檢測(cè)窗口是固定尺寸大臉相對(duì)于窗口偏大就檢測(cè)不到。解決辦法是多次調(diào)用檢測(cè)函數(shù)每次用不同尺寸的圖像或者直接用檢測(cè)到的人臉區(qū)域做回歸驗(yàn)證。第二個(gè)問(wèn)題我的做法是做兩層過(guò)濾。第一層基于檢測(cè)結(jié)果的幾何比例。人臉的長(zhǎng)寬比通常在0.7到1.3之間太離譜的候選直接丟掉。第二層是基于多幀確認(rèn)連續(xù)檢測(cè)窗口內(nèi)兩次出現(xiàn)才算有效。在視頻流場(chǎng)景里這個(gè)方法可以把誤檢率壓得非常低。valid [] for (x, y, w, h) in faces: ratio w / h if 0.7 ratio 1.3: valid.append((x, y, w, h))這個(gè)案例最值得注意的一點(diǎn)是人臉檢測(cè)看起來(lái)是“AI”但Haar級(jí)聯(lián)本質(zhì)上是手工特征加傳統(tǒng)機(jī)器學(xué)習(xí)它的泛化能力和深度學(xué)習(xí)模型完全不在一個(gè)量級(jí)。如果你處理的是側(cè)面、戴帽子、暗光下的人臉不要指望Haar級(jí)聯(lián)表現(xiàn)很好這種情況上深度學(xué)習(xí)檢測(cè)模型后面案例五會(huì)做一個(gè)代表性示范。Haar級(jí)聯(lián)的定位是快速、輕量、CPU友好在設(shè)備端做簡(jiǎn)單人臉檢測(cè)夠用。5. 案例四SIFT特征匹配實(shí)現(xiàn)全景圖拼接5.1 為什么SIFT比ORB更適合拼接場(chǎng)景到了這個(gè)案例我們開(kāi)始接觸圖像特征。特征就是圖像里那些“獨(dú)特”的局部區(qū)域比如墻角、紋理交叉點(diǎn)、斑點(diǎn)。不同算法找特征的能力和特性完全不同。ORB是二值化特征速度快適合實(shí)時(shí)場(chǎng)景但對(duì)尺度變化和視角變化的魯棒性差。簡(jiǎn)單說(shuō)就是圖一里一個(gè)小角點(diǎn)圖二里放大了兩倍ORB可能就匹配不上了。SIFT尺度不變特征變換不一樣。它通過(guò)對(duì)圖像構(gòu)建高斯金字塔在不同尺度空間里檢測(cè)極值點(diǎn)所以對(duì)圖像縮放、旋轉(zhuǎn)、甚至一定程度的視角變化都有很強(qiáng)的魯棒性。這意味著兩張圖里同一塊區(qū)域一張是完整的大圖一張是從遠(yuǎn)景拍的小圖SIFT依然能找到對(duì)應(yīng)關(guān)系這是拼接場(chǎng)景里的核心需求。代價(jià)是SIFT的計(jì)算量大很多而且在某些地區(qū)的機(jī)器視覺(jué)項(xiàng)目里因?yàn)閷@麊?wèn)題被限制過(guò)。不過(guò)在實(shí)際應(yīng)用上開(kāi)源社區(qū)依然廣泛使用。OpenCV里調(diào)起來(lái)很順手sift cv2.SIFT_create()5.2 關(guān)鍵點(diǎn)和描述子的概念這里需要把“關(guān)鍵點(diǎn)”和“描述子”兩個(gè)概念分清楚。關(guān)鍵點(diǎn)是特征在圖像中的位置坐標(biāo)包含x、y、尺度、方向等信息。描述子是一個(gè)128維的向量描述這個(gè)關(guān)鍵點(diǎn)周圍的局部梯度分布相當(dāng)于這個(gè)點(diǎn)的“指紋”。匹配兩張圖時(shí)我們不直接比關(guān)鍵點(diǎn)坐標(biāo)而是比描述子向量的距離。比如在拼接場(chǎng)景中左圖的某個(gè)關(guān)鍵點(diǎn)可能是“左上角墻皮上的裂縫”右圖中相同位置的裂縫關(guān)鍵點(diǎn)它們的描述子會(huì)非常接近距離很小。kp1, des1 sift.detectAndCompute(img1, None) kp2, des2 sift.detectAndCompute(img2, None)detectAndCompute一次搞定檢測(cè)加描述子計(jì)算效率比分別調(diào)用detect和compute高。5.3 比率測(cè)試與匹配過(guò)濾匹配特征點(diǎn)用的是cv2.BFMatcher暴力匹配器。它會(huì)把左圖的每個(gè)描述子遍歷右圖所有描述子找出最近的兩個(gè)鄰居然后看最近距離和次近距離的比值。這個(gè)比值越小說(shuō)明最近鄰居越“獨(dú)一無(wú)二”匹配越可靠。bf cv2.BFMatcher() matches bf.knnMatch(des1, des2, k2) good [] for pair in matches: if len(pair) ! 2: continue m, n pair if m.distance 0.75 * n.distance: good.append(m)這個(gè)0.75就是經(jīng)驗(yàn)值。實(shí)測(cè)中越小匹配越嚴(yán)格誤匹配越少但好匹配也會(huì)被過(guò)濾掉0.8略寬松0.7更嚴(yán)格。我通常在拼接場(chǎng)景用0.75在物體識(shí)別場(chǎng)景用0.7這個(gè)取舍看你的應(yīng)用容錯(cuò)率。5.4 單應(yīng)矩陣與圖像變形拼接有了可靠匹配點(diǎn)就可以求單應(yīng)矩陣。單應(yīng)矩陣描述了兩幅圖像在同一平面上的投影變換關(guān)系是3x3的矩陣。用RANSAC算法可以從匹配點(diǎn)里估計(jì)出這個(gè)矩陣同時(shí)把外點(diǎn)錯(cuò)誤匹配剔除if len(good) 4: src_pts np.float32([kp1[m.queryIdx].pt for m in good]).reshape(-1, 1, 2) dst_pts np.float32([kp2[m.trainIdx].pt for m in good]).reshape(-1, 1, 2) H, status cv2.findHomography(src_pts, dst_pts, cv2.RANSAC, 5.0)然后對(duì)右圖應(yīng)用透視變換到左圖坐標(biāo)系再疊加拼合height, width img1.shape[:2] warped cv2.warpPerspective(img2, H, (width img2.shape[1], height)) warped[0:height, 0:width] img1這里直接賦值會(huì)有一個(gè)問(wèn)題拼接縫很明顯因?yàn)閮蓮垐D的曝光差異在拼接處形成了階躍。一個(gè)改善方法是用cv2.seamlessClone做泊松融合mask np.zeros(warped.shape[:2], dtypenp.uint8) mask[0:height, 0:width] 255 center (width // 2, height // 2) warped cv2.seamlessClone(img1, warped, mask, center, cv2.NORMAL_CLONE)從純OpenCV角度做到這一步已經(jīng)能拼出看起來(lái)不錯(cuò)的全景圖了。更商業(yè)化的全景拼接還需要做光照一致性校準(zhǔn)和曝光補(bǔ)償?shù)鞘橇硪粋€(gè)大工程。用這套基礎(chǔ)方案我?guī)湍彻镜难矙z機(jī)器人做過(guò)簡(jiǎn)單拼接模塊能把設(shè)備正前方的左右攝像頭畫面拼成一張完整畫面。5.5 拼接實(shí)戰(zhàn)中的一個(gè)核心參數(shù)尺度問(wèn)題做拼接最容易出的問(wèn)題是匹配數(shù)量足夠但拼接結(jié)果扭曲。原因往往是兩張圖的拍攝距離差異太大SIFT雖然尺度不變但極端的尺度差異會(huì)導(dǎo)致單應(yīng)矩陣的病態(tài)。實(shí)操經(jīng)驗(yàn)是拼接前先cv2.resize把兩張圖調(diào)整到接近的分辨率拼接后看效果再縮放回去。這個(gè)預(yù)處理步驟比任何高級(jí)融合算法都更能保證結(jié)果穩(wěn)定。6. 案例五圖像去霧與AI超分辨率增強(qiáng)6.1 暗通道先驗(yàn)去霧的核心邏輯霧天拍的圖像對(duì)比度低、發(fā)灰本質(zhì)是大氣散射導(dǎo)致景物光路上混入了大氣光。暗通道先驗(yàn)去霧算法建立的觀察是這樣的在大多數(shù)無(wú)霧圖像中每個(gè)局部區(qū)域里至少有一個(gè)顏色通道的像素值非常低接近于零。霧的存在會(huì)讓這個(gè)最小值升高使得畫面整體發(fā)白。通過(guò)估算每個(gè)像素處的大氣光值和透射率可以反推出原始景物顏色。核心公式是大氣散射模型I(x) J(x)t(x) A(1-t(x))其中I是觀測(cè)到的有霧圖J是要恢復(fù)的無(wú)霧圖t是透射率A是全局大氣光。公式看著抽象但代碼邏輯卻不算復(fù)雜import cv2 import numpy as np def dark_channel(img, size15): r, g, b cv2.split(img) min_channel cv2.min(cv2.min(r, g), b) kernel cv2.getStructuringElement(cv2.MORPH_RECT, (size, size)) dark cv2.erode(min_channel, kernel) return dark def estimate_atmospheric_light(img, dark): h, w img.shape[:2] pixels h * w num_bright int(max(pixels // 1000, 1)) flat_dark dark.ravel() indices np.argsort(flat_dark)[-num_bright:] img_flat img.reshape(-1, 3) atmospheric np.max(img_flat[indices], axis0) return atmospheric這一段的原理是取暗通道里最亮的前0.1%的像素在原始圖像中找到對(duì)應(yīng)位置取這些位置的RGB最大值作為大氣光估計(jì)。透射率則用暗通道圖和一個(gè)縮小系數(shù)算出。最終得到的去霧圖像對(duì)比度會(huì)顯著提升。實(shí)際工程里我寧愿用簡(jiǎn)化版直方圖均衡化先頂上因?yàn)橥暾陌低ǖ廊レF算法在有大片白色區(qū)域比如天空、白墻的時(shí)候會(huì)失效畫面會(huì)嚴(yán)重偏色。暗通道先驗(yàn)的假設(shè)就是“無(wú)霧圖的局部有暗區(qū)域”天空破壞了這一假設(shè)處理結(jié)果容易翻車。所以這個(gè)算法更適合地面景物、建筑、街景不適合天空占比大的風(fēng)景照。6.2 CLAHE性價(jià)比最高的畫質(zhì)增強(qiáng)方案如果你覺(jué)得去霧算法有點(diǎn)重課堂上最實(shí)用的是CLAHE對(duì)比度受限的自適應(yīng)直方圖均衡化。它把圖像分成小塊每個(gè)小塊單獨(dú)做直方圖均衡化并且限制對(duì)比度放大的幅度避免噪聲被過(guò)度放大。代碼三行clahe cv2.createCLAHE(clipLimit2.0, tileGridSize(8, 8)) enhanced clahe.apply(cv2.cvtColor(img, cv2.COLOR_BGR2LAB)[:, :, 0]) enhanced_color cv2.cvtColor(cv2.merge([enhanced, cv2.cvtColor(img, cv2.COLOR_BGR2LAB)[:, :, 1], cv2.cvtColor(img, cv2.COLOR_BGR2LAB)[:, :, 2]]), cv2.COLOR_LAB2BGR)這里把圖像從BGR轉(zhuǎn)到LAB顏色空間只對(duì)L亮度通道做CLAHE保留A和B通道的顏色信息再轉(zhuǎn)回BGR。這個(gè)做法的好處是不會(huì)像全局直方圖均衡化那樣把顏色搞失真。我實(shí)際測(cè)過(guò)一批監(jiān)控視頻截圖這種處理方法在低對(duì)比度、逆光場(chǎng)景下的改善肉眼可見(jiàn)而且計(jì)算量極小適合做視頻流的實(shí)時(shí)預(yù)處理環(huán)節(jié)。雖然它不如深度學(xué)習(xí)方案那樣“智能”但它不會(huì)引入偽影穩(wěn)得很。6.3 用Real-ESRGAN做一個(gè)四倍超分辨率修復(fù)傳統(tǒng)圖像插值算法放大圖片比如cv2.resize配合INTER_CUBIC放大后邊緣是糊的。因?yàn)椴逯当举|(zhì)上是猜新像素的值而猜想依據(jù)的是鄰近像素的顏色細(xì)節(jié)無(wú)從恢復(fù)。Real-ESRGAN是真正用深度生成網(wǎng)絡(luò)做的超分辨率模型能重建出紋理和邊緣細(xì)節(jié)特別適合老照片修復(fù)。它之所以叫“Real”是因?yàn)橛?xùn)練數(shù)據(jù)里加入了真實(shí)的降質(zhì)過(guò)程模糊、噪聲、壓縮偽影所以對(duì)真實(shí)拍攝的老照片效果比純合成數(shù)據(jù)訓(xùn)練的網(wǎng)絡(luò)好很多。在CPU上跑起來(lái)也不慢而且模型已經(jīng)編譯成Python包可以直接調(diào)pip install realesrganfrom realesrgan import RealESRGANer from basicsr.archs.rrdbnet_arch import RRDBNet model RRDBNet(num_in_ch3, num_out_ch3, num_feat64, num_block23, num_grow_ch32, scale4) upsampler RealESRGANer(scale4, model_pathRealESRGAN_x4plus.pth, modelmodel, tile0, pre_pad0, halfFalse) output, _ upsampler.enhance(img, outscale4)這里scale4是放大四倍tile0表示不切片如果圖片太大顯存不夠可以把tile設(shè)置成256或512讓模型按塊推理。CPU推理一張1920x1080的圖大約需要幾十秒GPU環(huán)境幾秒搞定。如果你用的是Apple Silicon也可以走M(jìn)etal加速但halfFalse這個(gè)參數(shù)要留著Apple環(huán)境下半精度反而慢。老照片修復(fù)時(shí)我建議先做一步簡(jiǎn)單的顏色校正或白平衡再進(jìn)Real-ESRGAN。因?yàn)槟P蛯?duì)輸入數(shù)據(jù)的分布有偏向顏色偏得太離譜的輸出也會(huì)帶偏色。7. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄7.1 高頻問(wèn)題速查表我把這幾年在OpenCV開(kāi)發(fā)中遇到的問(wèn)題整理成了一份速查表基本覆蓋了新手上路的絕大多數(shù)場(chǎng)景?,F(xiàn)象可能原因解決方法圖片顯示出來(lái)的顏色偏藍(lán)偏綠OpenCV以BGR順序讀取而顯示組件期望RGB用cv2.cvtColor(img, cv2.COLOR_BGR2RGB)轉(zhuǎn)換顏色識(shí)別范圍調(diào)了很久還是不準(zhǔn)沒(méi)有用HSV空間直接用BGR做范圍判斷轉(zhuǎn)到HSV空間用調(diào)試窗口調(diào)參攝像頭畫面卡頓嚴(yán)重每幀都做了太多高耗時(shí)操作把幀率統(tǒng)計(jì)加上如果判斷每幀需要120ms以上考慮縮小處理分辨率人臉檢測(cè)漏檢嚴(yán)重minSize設(shè)置太大或scaleFactor太大調(diào)小minSize到32或40scaleFactor調(diào)到1.05SIFT匹配結(jié)果全錯(cuò)輸入圖像本身沒(méi)有紋理特征如純色墻面換用ORB或者提高匹配過(guò)濾閾值到0.8檢測(cè)到的輪廓數(shù)量忽多忽少二值化的固定閾值在不同光照下失效改用Otsu自適應(yīng)閾值或結(jié)合形態(tài)學(xué)預(yù)處理中文路徑讀不到圖片OpenCV的imread底層用C對(duì)中文路徑支持不完善先用cv2.imdecode(np.fromfile(path, dtypenp.uint8), cv2.IMREAD_COLOR)讀入顯示窗口一按空格就跳過(guò)但代碼不退出等待按鍵的返回值未檢查把cv2.waitKey(0)返回值賦給變量并判斷是否等于27Esc這些坑每一個(gè)我都踩過(guò)。尤其是中文路徑問(wèn)題很多人在自己的電腦上運(yùn)行好好的一到生產(chǎn)環(huán)境就報(bào)“圖像讀取失敗”查半天代碼沒(méi)發(fā)現(xiàn)問(wèn)題最后發(fā)現(xiàn)是路徑里有中文。用imdecode全套繞過(guò)去別跟它硬剛。7.2 無(wú)人會(huì)告訴你的三個(gè)調(diào)試習(xí)慣第一個(gè)習(xí)慣分階段保存中間結(jié)果。每做完一步處理就把當(dāng)前圖片保存成文件比如1_original.jpg、2_hsv.jpg、3_mask.jpg。當(dāng)結(jié)果不符合預(yù)期時(shí)只看最后一張圖很難定位問(wèn)題但逐張回看就能快速判斷是哪一步出了問(wèn)題。不要嫌麻煩這個(gè)習(xí)慣能省下大量排查時(shí)間。第二個(gè)習(xí)慣寫一個(gè)小工具函數(shù)來(lái)疊加顯示多張圖。OpenCV的cv2.imshow一次只能顯示一張圖調(diào)試時(shí)來(lái)回切換窗口很煩。我會(huì)把多張圖橫向拼接顯示def show_multiple(images, titles, size(400, 400)): resized [cv2.resize(img, size) for img in images] combined np.hstack(resized) cv2.imshow(debug, combined) cv2.waitKey(1)第三個(gè)習(xí)慣把圖像尺寸打印出來(lái)。核的大小、坐標(biāo)的索引、縮放的比例很多bug都是因?yàn)槌叽绮黄ヅ洹C總€(gè)圖像處理步驟之后先驗(yàn)證數(shù)組形狀比最后出圖時(shí)再找問(wèn)題輕松得多。7.3 性能優(yōu)化的三條實(shí)用經(jīng)驗(yàn)如果你最終要把算法部署到實(shí)時(shí)視頻流或者嵌入式設(shè)備上性能就是硬指標(biāo)。首要原則縮小圖像尺寸永遠(yuǎn)是性價(jià)比最高的優(yōu)化。把720p圖像縮到360p處理時(shí)間至少減半很多情況下精度損失微乎其微。尤其對(duì)于檢測(cè)任務(wù)模型只在一定的尺度范圍內(nèi)有效縮小圖像對(duì)量大管飽的檢測(cè)場(chǎng)景幾乎無(wú)損。第二個(gè)原則避免大kernel的GaussianBlur和腐蝕操作。7x7以上在視頻流里扛不住。能用cv2.boxFilter或者降采樣湊合就用它們。第三個(gè)原則別在循環(huán)里創(chuàng)建新的numpy數(shù)組。OpenCV的大部分函數(shù)都會(huì)返回新數(shù)組反復(fù)創(chuàng)建會(huì)觸發(fā)大量?jī)?nèi)存分配。預(yù)先聲明好輸出數(shù)組用dst參數(shù)傳入可以復(fù)用內(nèi)存cv2.GaussianBlur(src, (5, 5), 1.5, dstblurred)當(dāng)然這個(gè)優(yōu)化在Python層意義有限但對(duì)于要求苛刻的場(chǎng)景每一個(gè)細(xì)節(jié)都不能放過(guò)。寫在最后一點(diǎn)個(gè)人體會(huì)把這5個(gè)案例完整跑一遍你對(duì)OpenCV的認(rèn)識(shí)會(huì)從“一個(gè)能調(diào)用的圖像庫(kù)”變成“一套完整的圖像處理工具箱”。這是實(shí)打?qū)嵉哪芰S遷。往后遇到任何圖像問(wèn)題你不會(huì)第一反應(yīng)是找現(xiàn)成的API而是先拆解問(wèn)題的本質(zhì)——是在像素層面做操作還是在特征層面做匹配或者需要更高級(jí)的AI模型。我個(gè)人在工作中最大的體會(huì)是OpenCV的難點(diǎn)從來(lái)不在API調(diào)用而在思維方式的轉(zhuǎn)變。你必須學(xué)會(huì)把圖像當(dāng)成數(shù)據(jù)把操作當(dāng)成數(shù)學(xué)運(yùn)算把一個(gè)視覺(jué)效果分解成處理流程。在這條路上沒(méi)有誰(shuí)能一步登天但每一個(gè)小案例的積累最后都會(huì)變成你自己的直覺(jué)。最后再分享一個(gè)極其實(shí)用的小技巧。光說(shuō)不練假把式把案例一和案例三組合起來(lái)做一個(gè)“在彩色圖像中找出紅色區(qū)域邊緣”的即時(shí)效果驗(yàn)證先用顏色分割得到紅色區(qū)域的mask再用形態(tài)學(xué)清理出完整的輪廓圖最后用Canny檢測(cè)邊緣。這個(gè)簡(jiǎn)單的組合會(huì)讓你直觀理解PositionsExperience里各階段的銜接是什么感覺(jué)。先跑起來(lái)再不斷改進(jìn)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
丁香六月五月婷婷| 大学生高潮无套内谢视频| av国产精品偷| 丁香婷婷激情四射五月| 色五月激情网| 婷婷丁香五月综合网上| 色综合色欲综合天天免费| 性色综合网| 26uuu精品国产| 日日爱激情| 玖玖爱伊人| 91久久婷婷| 五月天天久久香| 26uuu成人网| 激情五月婷婷| 色吧五月婷婷| 婷婷五月天亚洲图片| 好看的国产精品| 五月丁香久久| 日日夜夜干| AV大片在线观看| 丁香激情五月| 国产精品国产| 五月婷婷视频| 五月亭亭网成人在线视频| 天天肏屄夜夜爽| 五月天色色婷婷| 中文字幕成人| 深爱五月天 开心网| 伊人大香久久| 国产精品 的国产| 色色热日| 欧美婷婷综合网| 国产欧美精品AAAAAA片| 亚洲精品又粗又大又爽A片| 草五月| 色五月丁香总合网| 九九综合视频在线观看| 五月丁香啪啪| 另类视频一区| 国产精品久久久99视频| 婷婷五月天最新综合你懂的| 精品动漫 无码av| 99性爱| 欧美操人| 人妻啪啪啪| 天天操天天插| 天天射美女| 综合一区二区三区| 午夜天堂啪啪| 婷婷综合爱| 五月丁香六月婷婷不卡免费无码| 伊综合蕉| 99re视频在线| 六月婷欧美| 99热插| 91亚洲视频| 真实的国产乱XXXX在线91| 丁香六月婷月91婷月| av首页在线| 97色久| 视频一区二区在线| 丁香六月色| 99er热精品视频| 色婷婷精品视频在线播放| 色青青电影色五月| 月色色综合婷婷网| 亚洲综合色色| 色色综合日韩| AV五月婷婷露脸| 色色色色色爱| 99人妻碰碰碰久久久久视| 五月激情在线| 色婷婷久久| 五月婷网站| 久久99激情| 婷婷五月天激情诱惑| 精品婷婷五月天| 婷婷六月插屄激情| 色五月五月丁香| 六月婷婷视频| 亚洲va欧洲va国产va不卡| 丁香六月婷婷综合啪啪| 超碰大香蕉网| 天天日综合网射| 超碰操网| 天天综合亚洲综合网天天αⅴ| 久久亚洲网| 国产六月婷婷| 婷婷色爱| 亚洲这里只有精品| 97很鲁在线视频| 九九精品自拍| 天天色播| 天天久久婷婷| 99噜噜噜在线播放| 天天爽夜夜爽夜夜爽精品视频| 色欲影香| 成人精品视频99在线观看免费| 九九99精品免费播放| 草了bav视频在线观看| 四季日韩AV无码综合| 五月激情婷婷国产精品久久久久久| 《久久综合九色综合97婷婷| 五月熟妇婷婷久久| 欧美超级视频97| 婷婷激情四射| 日本婷婷网| www.精品99| 碰碰91| 射区导航| 国产精品色情AAAAA片软件| 91操女| 黄色91在线观看| 爱操人妻| 狠狠色综合图片| 人妻激情视频| 互月天综合| 性天天中文网| 公的粗大挺进了我的密道| 丁香五月天堂亚洲社区| 久久在这里有精品| WWW.99热| 日韩一级网站| 婷婷色欧美激情| 五月婷视频| 天堂婷婷丁香六月网| 综合婷婷六月| 在线观看的av| 色婷婷文字幕| 99热精品免费在线观看| 免费看欧美成人A片无码| 久久九九99视频| 丁香六月婷婷久久综合| 色五月激情网| 91美女啪啪| site:xiongshengzz.com| 另类综合婷婷五月天欧美视频| 久久香蕉影院| 丁香婷婷五月天成人| 玖玖无码中文| 亚洲国产黄色电影| 狠狠色噜噜狠狠| 久99视频在线观看| 久久久99日本大片| 欧美丁香婷婷五月天| 丁香五月色| www.色欲丁香婷婷| 五月婷婷激情中心| WWW.久久.COM| 天天操天天操综合| 婷婷久久午夜网| 色欲午夜无码久久久久久张津瑜 | 国产操碰| 99九九综合久久九九| 97色精品视频| 国产另类综合| 涩五月丝袜婷婷| 天天婷婷综合| 丁香五月天人体| 天天日天天摸| 激情久久综合网| 这里只有精品视频一区| 久久99综合| 超碰91人人操| 丁香五月影视| 婷婷四色五月| 激情六月婷婷| 九九热re99re6在线精品| 99精品大片| 岛国在线观看91| 深爱婷婷基地| h在线看免费版在线看| 五月婷婷AV| 九九精品热| 丁香五月婷婷99| 奇米影视在线视频| 婷婷五月天男人影院色色网| 97伦乱| 激情丰满熟妇五月| 五月伊人91| 影音先锋女人av鲁色资源网小说免费| 激情五月天婷婷| 久这里只有精品99| 精品一二三区久久AAA片| 色情丁香五月天| 99啪啪| 久久人妻爱爱| 国产精品男人AV不卡| 第二色AⅤ| 丁香五月影院| 91久女| 久久总和99| 五月婷婷丁香狠狠撸久久| 日日操天天操| 国产精品激情五月天色婷婷| 亚洲五月天色色| 五月婷婷啪啪| 久久九九怡红院| 久久久久人妻| WWW丁香五月| 香蕉人在线香蕉人在线 | 色色婷婷婷丁香五月天| 色优久久| 日本欧美国产| 99久热在线精品99re6热| 久热只有这里精品| 丁香五月自拍| 中文av网| 五月婷婷六月色| 五月天婷婷色小说| 99亚洲精品综合在线| 亚洲激情精品| 丁香五月九九| 婷婷丁香六月| 丁香五月婷中字幕| 国产亚洲99久久| 青青草tp| 九九热这里只有精品31| 日本三级日本三级三级人妇四虎| www.夜夜操| 久色中文| 久久久91| 欧美成人精品A片免费一区99| 五月婷婷手机在线| 欧美操我| 国产美女无遮挡裸体毛片A片| 五月丁香婷婷福利| 色99在线观看| 另类图片五月天| 热99精品视频在线观看| 青青草五月天| 亚洲乱码日产精品BD| 色播五月天天| www,色婷婷| 婷婷五月天综合网| 思思热精品在线观看| www91久久| 日本天天色| 99热视精品| 丁香六月激情四射| 人操91在线| 日本天天操| 亚洲精品乱码久久久久久综合| 99视频综合网| 亚洲天堂久久| 婷婷五月天视频免费在线观看| 色99视| 夜色热久| 另类天堂| 色色婷婷五月天| 丁香女人五月天| 99久久高清视频| 婷婷久久五月天| 色婷婷亚洲五月天| 丁香五月冃欧美| 琪琪色五月天| 北条麻妃九九九国产精品视频| 热99免费在线| 六月婷婷五月天| 丁香六月婷婷综情欧美| 亚洲欧洲国产精品| 婷色五月| 91操色| 亚洲日韩国产黑丝黑丝AVAV一区二区三区| 欧美精品A片一区在线观看| 五月丁香六月激情| 欧美婷婷综合网| 中文字幕成人日韩| 第四色五月婷婷| 色色色五月天激情资源| 色婷婷无吗| 色吊丝99| 欧美久久网| 色婷婷91| 激情 久久 婷婷| 色婷婷狠狠| 色五月激情婷婷| 国产成人亚洲综合A∨婷婷| 91色在线/日韩| 色一情一乱一乱一区91| 久久婷婷视频| 久久久久久久11111111111| 极品人妻VIDEOSSS人妻| 丁香五月天91| 黄网在线播放| 天天射射夜| 中文字幕婷婷五月天在线观看| 亚洲va在线| 999热成人在线综合网| www.久久久久| 操人无码| 天天干天天操天天拍| 婷婷久月| 96性爱视频| 五月天色网站| 91九色国产在线| 天天狠狠夜夜狠狠2023| 日本丁香五月| 日韩AV免费| 亚洲成人另类| 五月天激情在线视频| 日日做天天操夜夜爽| 涩婷婷五月天| 99视频| 欧美叉叉叉BBB网站| 久久激情五月婷婷| 97色色网| 2020日日干| 婷婷五月丁香基地在线视频官网| 怡红院院在线导航网| 中文字幕性爱丰满| 色色亚洲| 精品二区| 五月色婷婷在线观看| 囯产精品一品二区三区| 日本片日本片祼观看网站在线看中文版网页在线看| 国产精品色| 色丁香五月婷婷综合久久| 狠爱婷色| 丁香五月婷婷天| 综合九九| yazhoujiqingav| 国产激情在线| 亚洲va欧美va国产综合久久久| 五月天婷婷青青| 五月丁香六月| 色99久草在线| 五月婷婷av| 五月婷婷久久久| 97AV在线视频| 天天操综合网| 99热这里| 激情另类综合| 色色婷| 亚洲色频| 国产日日操夜夜操的肉棒视频| www.狠狠艹| 丁香五月人妻| 98色丁香五月婷婷综合网| 五月亭亭激情综合| 色婷婷电影| 黄久久久| 操逼棍操逼| 欧美性丁香色色五月天干干| 九九九热精品| 九色自拍| 色综合中文| 日日狠狠久久偷偷四色综合免费 | 97色片| 五月丁香婷婷狠狠操| 伊人春天av| 超碰97免费在线| 中文字幕欧美精品久久| 色深爱五月| 强辱丰满人妻HD中文字幕| 操操人人| 色情五月丁香| 91丨九色丨白浆秘| 亚洲色综合| 五月激情丁香| 亚洲成人无码专区| 69er小视频| 狠狠操狠狠| 婷婷久久性爱| 色情五月婷婷| 精a品a视a频| 色偷偷色婷婷| 欧美影院婷婷| 五月天伊人| 国产熟女大叫受不了| 99热免费看| 天天综合网~91| 99re这里只有精品首页| 久超免费视频| 久久久婷婷五月天| 97色色色色色| av首页在线| 国产裸舞表演WWWW| 4438成人电影| 九九99久久| 只有精品在线观看| 91 欧美| 婷婷五月天亚洲综合| 伊人九热| 色五月婷婷五月天| 日韩AV中文字幕在线| 无码人妻少妇色欲AV一区二区| 五月丁香啪啪| 字幕网AV中文字幕| 99热精品在线在线| 色婷婷影视| 狠狠狠狠狠干| 91综合国免费久入| 五月丁香六月婷婷啪啪| 亚州色婷婷| 99久在线观看| 亚洲天堂亚洲色色色| 无码激情AAAAA片-区区 | 丁香五月激情网| 五月丁香啪啪啪啪| 五月天开心成人网| 久久9RE热视频精品98| 玖玖婷婷色五月| 久久久久久久久久久44| 综合久久婷婷| 日本va欧美va国产激情| 丁香五月最新地址| 婷婷俺去也| 丁香五月天av| 五月丁香激情四射| 天天干天天日蜜臀av| 天天精品视频免费观看| 久久婷婷大香蕉| 久久人妻www| 91干视频| 亚洲AV成人精品网站在线播放| 五月婷婷六月综合| 色五月xxx| 极品五月天| 九九aV| ri电影在线| 91 久热| 久久色婷婷| 天天干天天 亚洲| 98永久精品| 伊人综合网站| 伊人婷婷五月| 亚洲 视频 导航 一区| 蜜桃成语时李时珍 免费| 人妻操在线看| 秋霞免费三级片| 久久久人人操A V| 日本婷婷色日| 丁香综合婷婷开心激情网| 日韩野外 无套| 色色色图| www,com,五月色色| 色婷婷综合视频| 4438全国最大视频成人网站在线观看| 狠狠色综合精品视频在线| 国产色香蕉精品五夜婷| 色啪久| 国产午夜一区二区三区| 欧美日韩成人一区二区| 五月丁香色婷婷基地| 五月天激情图片| 99国产精品白浆在线观看免费 | 玖玖婷婷色五月| 色婷婷9| 五月丁香色情| 99这里只有| 再次出发二| 国内久久婷婷| 婷婷五月丁香亚洲| 丁香六月综合| 天天婷婷综合亚洲亚洲| 亚洲99综合| 99色 | 丁香婷婷浪潮AV久久综合| 九月婷婷久久| 色色色网站| 大香蕉五月天婷婷| 五月丁香激情深爱婷婷| 五月婷婷成人w| 99re思思| 777.色色| 丁香五月aV| 亭亭丁香aV| 丁香婷婷激情综合五月激情 | 99色视| 亚洲色久| 综合久久婷婷| 欧洲亚洲午夜| 夜夜资源站| 92国产福利| www.丁香五月| 精品久久久久成人码免费动漫| 亚洲AV成人在线| 国产 码在线成人网站| 婷婷伊人久久| 久9热视频| 综合激情在线视频| 九九热免费| 丁香色婷婷| 26uuu色噜噜精品一区| 《战争与艾拉》完整版| 性色播| 久色激情| 99精品综合在线| 日本乱子人伦在线视频| 国产在线网址1| 99热伊人综合| 538任你爽视频不一样的| 五月久久婷婷天堂视频| 久久婷婷亚洲| 丁香五月综合福利视频导航| 深爱激情五月婷婷| 激情婷婷五月天| 99rewww| 东北婷婷五月天| 人人操人人爱丁香五月| 婷婷内射视频在线| 狠狠干综合| 精品一二三区久久AAA片| 少妇人妻凹凸视频| 夜夜撸日日操| 狠狠狠狠狠| 激情涩播| 五月丁香六月婷婷激情四射| 99人人干| 亚洲俩性性爱图片久久第六页| 五月丁香在线精品| 狠狠99| 成人看片网站| 人人草碰| 99热日韩这里只有精品| 天天五月天综合网址| 五月亭亭狠狠| 99精品免费| 99热国产在线| 欧美色婷婷| 综合五月激情| 五月丁香六月欧美综合网站| 国产精品扒开腿做爽爽爽A片唱戏| 噢美99| 香蕉久久六月| 日本无va视频| 99热这里只有精品3| 开心五月网| 99热日本精品| 在线不卡视频| 五月婷婷在线观看黄| 91九色网| 97操碰碰无码视频| 日韩十国产极品久久| 99久久久久| 超碰69天堂| 3p久久| 襙比视频| 开心五月激情网| 人妻操日日| 五月天婷五月天综合网在线观| 五月丁香六月综合激情| 伊人婷婷大香蕉在线| 欧美久久婷婷| 操你av| 亚洲精品激情| 东京热五月婷婷| 丁香六月激情综合| xx久久| 九九99视频精品| 九九九午夜影院成人| www.久久久.com| 色yeye欧美| 亚洲综合网激情小说| 天天爱天天做天天爽| 九九在线精点品| 碰99在线| 丁香六月天色婷婷| 99精品视频在线观看| 97操碰| 五月丁香花视频| 青青草99re| 五月综合激情综合久| 五月天久久久| 日韩无码乱轮| 青青草五月天| 99精品超在线播放| www.色婷婷.com| 五月丁香六月综合图| 五月婷婷六月激情在线| 婷婷五月成人| 免费99情趣网视频| www久久久久久久97| 国产精品岛国片在线观看免费| 骚货艹网站视频| AV人人操| 色综合爽| 性爱久久| 激情综合网,五月| 99色天堂| 99视频精品全部免费 在线| 五月丁香六月激情| 五月天亚洲最大成人| 91久热| www.91.com处女在线直播| 欧美日韩一区二区三区四区| 五月天激情黄色小说在线观看| 自拍偷窥99热| 婷婷五月中文在线| 国色天香成人网| 亚洲熟妇AV综合网五月丁香伊人 | 99热在线观看免费精品| 久1色色| 欧美日本免费一道免费视频| 热99精品视频在线观看| 成人综合网站| 中文字幕乱轮| 99热e| 五月婷婷综合视频| 五月天婷婷激情春色小说| 九九艹女| 久热中文字幕| 玖玖在线资源视频| 色情成人五月天| 99精品在线观看| 99久久综合网| 91性交在线播放| 色噜噜狠狠一区二区三区| 蜜桃婷婷狠狠久久| 丁香五月电影| 丁香六月激情国产| 婷婷五月天丁香| 51精品国自产在线| 婷婷的色色五月天| 色综合播放| 4399精品一区二区| 五月婷在线观看| 激情狠狠丁香月| 影音先锋男士资源网一区| 99操免费视频| 日日爽日日操| 久99久在线观看| 99激情| 五月天五月天成人网亭亭成人色网站| 97久久草草超级碰碰碰| 激情四射亚洲| 噜噜噜精品欧美成人在线观看| 五月丁香婷婷成人网| 天天做天天爱| 99色播| 六月丁香综合| 精品一区久热| 99热这里只有精品8| 99热这里只有免费| 狠狠五月激情在线| 国内久久久精品99| 亚洲AV在线免费看| 五月天婷婷基地综合网| 五月丁香六月婷婷综合伊人| 中文字幕在线资源| 六月婷婷激情| 无码人妻激情| 五月六月婷婷| 欧洲日韩一区二区三区| 日本激情91| 九九热这里只有精品9| 99热国产这里只有精品| 婷婷成人五月天| 爽极品色| 五月天婷综合| 丝袜熟女一区二区三区| 精品国产AV色一区二区深夜久久| 丁香婷婷深情五月亚洲| 丁香网五月网| 色9色| 色伊人婷婷| 免费观看高清无码| 九九视频在线观看| 久久久久激情| 丁香五月AV| 丁香六月色婷婷| 色五月婷婷激情五月| AV激情五月| 92国产福利| 美女xx不卡| 色婷婷成人色网| 亚洲五月婷婷| 综合AV在线| 99色在线| 性色天| 婷婷久久久久久久| 深爱五月激情网| 91九色精品熟女内射| 六月婷婷综合久久| 久热91精品| A片试看120分钟做受视频红杏 | 色婷婷操逼| 99这里都是精品| 开心五月丁香综合久久| 色五月网址| 91久久久久久久久18| 五月天操逼网| 九九RE视频在线精品| 国产精品操| 五月天综合激情网| 丁香五月婷婷啪| 97久久草草超级碰碰碰| 色综合久久久久| 狠狠做五月| 秋霞黄色一级久久| 很很操很很操| 五月婷婷丁香av| 女人天堂 AV| 99这里都是精品6| 婷婷在线激情| 丁香九月婷| 人人摸人人干| 99热在这里只有精品| 激情五月丁香社区| 色99色| 久久小说| 婷综合六月| 色综合香蕉| 色哟哟性爱av| 99九九玖玖| 热九九精品| 五月丁香婷婷无码A∨| 日韩三级片一区二区| 伊人丁香婷婷东京| 五月天色区| 丁香色婷婷| 深爱激情综合网| 大香蕉久久久久| 五月天久久久| cao视频,现在观看| 五月丁香综合激情| 婷婷五月精品在线| 狠狠五月激情婷婷直播片| www好屌操| 五月六月婷| 丁香五月婷婷影院| 丁香五月天大香蕉啪啪| 99热国品| 激情五月天啪啪| 97热精品| 激情五月丁香在线观看直播| 99热这里有精品2| 六月丁香婷婷综合在线| 影音先锋偷偷色男人站| 99国产精品白浆在线观看免费| www.色欲丁香婷婷| 丁香五月婷婷激情尤物| 91丨九色丨东北熟女| 五月综合激情综合久| 亚洲黄色精品| 色99最新网址| 五月五婷婷网| jizzdr| 99视频只有精品| 五月天大香蕉AV| 日本的α片xxxwww| 校花娇喘呻吟校长陈若雪视频 | 女人天堂AV| 日本久久精品| WWW.五月com| 丁香婷婷六月激情文学| 色99欧洲色19| 五月色综合| 色五月激情图片| 伊人久久大香线蕉av一区| 婷婷五月丁香基地在线视频官网| 女高怪谈在线观看| 亚洲成av人影院| 久月婷婷| 激情五月婷婷老师| 嫩草AV久久伊人妇女超级A| 色哟哟www| 天天天添天天操| 亚洲婷婷免费| 色你久久| A久久| 大香蕉啪啪啪| 婷婷成人视频| 婷婷久月| 99热亚洲| 综合精品99| 久久开心五月婷婷| 99精品视频网站| 97伊人综合婷婷| 9久视频| 亚洲欧洲午夜成人精品av| 超碰2021| 婷婷五月天综合色| 影音先锋自拍网| 91九色精品| 青青草五月天| 色五月婷婷网| 五月色婷婷综合色| 九九99精品视频在线观看| 亚洲综合99| 99在线热| 五月天丁香欧美激情| 国产成人va在线| 大色鬼综合| 激情五月天之五月婷婷| 久久精品99国产精品日本| 伊人玖玖婷婷| 丁香综合婷婷五月天| 五月丁香婷婷99| 婷婷丁香五月天色区| 六月天婷婷| 婷婷丁香69精华| 亚洲视频五区| 欧美日本VA| 九九成人视频| 琪琪理论片| 99热在线观看| 丁香五月激情六月综合| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 色色婷五月天| 天天做天天爱| 久久五月丁香| 五月天综合激情网| 9久精品视频| 亚洲色99| 亚洲视频99| 91一起操| 婷婷综合五月| 香蕉97碰碰碰欧美| 玖玖@三月天天丁香婷婷| 欲求不满的人妻| 丁香五月激情综合婷综| 天天肏天天舔AV| 五月天婷婷涩涩| 五月婷婷色播| 色综合狠狠色| 婷婷精品综合| 91在线日| 亚洲激情无码久久| www.精品99| 色婷婷丁香中文在线播放| 亚洲成人黄色网| 97色色网| 天堂AV在线看| 日本三久久| 色狠狠综合| 天天做天天爱天天爽夜夜揉| 五月婷网| 久久这里只有精品网| 99色免费在线观看| 婷婷伊人| 婷婷综合精品视频97| 亚洲十月婷婷综合| 五月综合激情视频在线| 亭亭玉月丁香| www.五月天婷婷| 色综合爱综合| 2025色婷婷| 91久久久久久| 激情五月婷婷| 操日本色| 伊人五月天综合网| 欧美啄木乌丝袜人妻系列| 色天堂在线| 开心五月色婷| 激情丁香五月天| 五月丁香欧美综合| 欧美在线骚货| 青青日韩| 五月在线| 丁香色婷婷五月天| 色婷婷在线综合色播网| 五月天婷婷社区久久综合| 99精品热| 久超超碰| 久色| 国产69久久久欧美黑人A片| 激情婷婷视频在线| 色婷婷视频| 久久精彩视频| 丁香五月天电影| 日本91在线播放| 色婷婷在线影院| 六月丁香深深爱| 欧美色99| 成人小说色图婷婷五月| 噜噜色五月| 天天爽天天干| 久久精品99国产精品日本| 九九九九中文字幕| henhencao国产在线| 五月天成人免费视频| 99精品视频在线观看| 国产熟女一区二区三区五月婷| 婷婷五月天 偷拍| 欧美大香蕉视频| 猫咪伊人AV| 99热这里只有精品国产免费| 丁香五月宝贝激情网| 丁香六月激情蜜桃| 精品丁香五月天在线播放| 极品人妻VIDEOSSS人妻| 狠狠se| 精品一区二区三区四区五区六区介绍 | 色五月婷婷丁香凹凸| 九九综合视频在线观看| 六月色婷婷| 99热8在线| 操操日韩| 五月停停丁香| 亚洲另类在线观看| 久久九色| 亚洲va在线∨a天堂va欧美va| 婷婷丁香六月| 98色花堂98t.R| 99精品小视频| 免费看欧美成人A片无码 | 97黑人精品区| 欧美人妻一区二区| www.lchjjc.com| 777.色色| 天天干天天干天天干| 伊人www22综合色| 五月婷婷激情五月| 亚洲妇女熟BBW| 天天综合久久| 99爱视频在线观看这里只有精品| 欧美色图天堂网色| 天天日,天天射,天天舔| 人人人操 超碰| 婷婷丁香五月久久| 九九热精品视频在线观看| 99热日| 夜夜爽天天爽| 91丨九色熟女丨首页| 久久这里有精品在线观看| 怡红院AV亚洲一区二区三区H| 亚洲成人色五月婷婷综合| 狠狠色丁香| 久热9| 天天操天天日天天操| 任你躁XXXXX麻豆精品| 天天色综合色| 五月天激情婷婷| 五月丁香啪啪| 99热久| 色色色色色级无码| 国产婷婷色综合AV蜜臀AV | 伊人丁香五月| 99超超碰| 色婷亚洲| 色久一| 色五月视频,小说| 日本波多野结衣视频| 五月亭亭六月激情| 日韩二区搞逼插逼毛片| 婷婷成人小说综合| 超碰2021| 五月婷婷啪啪| 黄色五月婷婷| 五月激情六月综合| 亚洲成人色五月天| 51精品国自产在线| 色丁香五月综合网| 超级碰碰视频无码| 五月花成人网| 久久久久久99日本| 国产26uuu| 久久九九中文字幕| 操日视频| 激情AV| 人妻丰满精品一区二区A片| 无码色色色色色| 乱精品一区字幕二区| 五月丁香六月婷婷综合伊人| 99碰碰碰| 人人综合久| 六月婷婷天天操夜夜爽视频| 亚洲妇女熟BBW| 亚洲第一色色色色| 五月婷狠狠| 少妇搡BBBB搡BBB搡毛茸茸 | 99人人干| 被强行糟蹋的女人A片| 丁香六月天之亚州热女| 人人草人人视| 啪啪黄页网| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 天天摸天天爽| 丁香五月婷婷综合激情啪啪啪啪啪啪啪| 日日操天天爽| 欧美激情综合色综合啪啪五月| 五月综合激情网| 色五月天网| 日韩无码性爱| 色五月丁香五月| 三级大香蕉网| 97超碰在线免费观看| 日韩成人电影AV| 狠狠色噜噜狠狠| 日韩一级A片黄色| 丁香五月在线播放| 五月天婷婷中文字幕在线播放| 丁香九月综合激情| 六月丁香婷| 天天影视色综合网| 激情床戏| 思思99热| 狠狠色成人影片| 天天综合久久| 9久精品| 色丁香五月| 婷婷欧美激情综合| 久草婷婷视频| jiZZdr| 激情五月六月婷婷| 人人玩人人橾| 丁香六月激情综合网| 玖玖婷婷色五月| 五月丁香网av| 激情五月婷婷综合网| 综合色五月| 伍月婷婷六月丁香| 色婷婷19| 影音先锋AV资源男人站| 五月激情六月综合| 亚洲综合婷婷五月天| 永久免费一区二区三区| 少妇高潮呻吟A片免费看软件| 激情 婷婷| 婷婷五月天亚洲精品| 亚洲正能量欧美| 色五月 五月婷婷| 五月天天视频| 五月婷婷精品视频| 亚洲欧洲另类| 婷婷五月色惰| 亚洲无码影音| 五月大香蕉| 久久多色| 噜噜噜噜综合在线| 538午夜激情| 激情五月婷婷视频一区二区三区| 乱乱av| 这里只有精品视频在线| 婷婷久久综| 激情五月天伊人影院| 婷婷六月丁香激情综合| 噜噜噜噜婷婷五月天| 秋霞AV美国| 91制片厂久久久国产电影| 国产精品涩涩涩视频网站| 日日日日日| 99操久久| 人人摸人人澡人人| 五月丁香激情婷婷| 五月丁香婷婷三级| 婷婷开心青青草| 99免费成人网| 国产精品久久..4399| 久久狠狠干| 综合九九久久| 色婷婷激情视频| 中文字幕网伦射乱中文| 国产欧美熟妇另类久久久 | 五月婷婷啪啪网| 婷婷影院A成人| 久久久国产精品黄毛片| 欧美色色色| 久久机热/这里只有精品| 日韩久热| 婷婷射图| 日本婷婷在线| 色五月大| 婷婷五月综合啪| 欧美性色视频| 婷婷丁香69精华| 亚洲综合一区二区| 色99免费视频中文| 婷婷色六月| 成人国产欧美大片一区| 乱岳熟女50岁| 国产XXXX搡XXXXX搡麻豆| 色5月婷婷| 天天爽人人综合免费7799| 成年人丁香五月| 激情婷婷五月| 精品人妻久久久久久| 激情五月天伊人影院| 天天添天天摸天天天天做| 伊人久久婷婷五月天激情四射| 婷婷丁香五月天哟啪| 狠狠干狠狠色| 5五月综合网亚洲| 99久热精品在线| www,天天干| 天天做天天摸| 日韩婷婷| 伍月婷婷免费视频| 欧美va视频不用播放器的va视频网| 色色色色色色色综合| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | AV变态另类一区二区| 99婷婷色| 热99热久| 97碰碰在线观看视频| 亚洲AV无码成人精品电影| 99色热视频| 开心五月婷婷五月| 丁香五月婷婷色五月| 天天高潮夜夜爽| www.夜夜操| 丁香五月综合婷婷| 久久激情网| 91免费试看| 日韩99视频| 亚洲激情亚洲激情| 日日夜夜天天爽| 99热6这里只有精品| 五月激情网站| 操人久久| 欧美性生交XXXXX无码小说| 五月停视频天堂| 五月婷婷综合社区| 五月天色婷伊人| 久久婷婷色五月| 99激情| 专区无日本视频高清8| 亚洲AV成人在线观看| 天天色99| 六月婷婷深深爱| 天天做天天爱天天综合网| 一区二区免费看| 婷婷五月天综合网| 99人妻碰碰碰久久久久| 伊人婷婷五月天| 5月婷婷性视频| 五月激情婷婷综合| 国产成人精品亚洲线观看| 婷婷五月娱乐在线| 一起草aV| 久久er九九| 啪到高潮激情丁香五月| 激情六月丁香| 五月天开心色色网| 丁香六月啪啪啪| 色五月丁香激情| 思思热久久艹| 热91久| 性生活视频98791| 我要看激情五月天| 中文字幕AV在线播放| 爱久久小说下载网| 99热人人操人人操| 五月天婷婷午夜丁香| 99热这里只有精品22| 人妻精品一区二区三区| 丁香花五月天社区| 韩日在线熟女| 久久五月丁香| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 欧美激情综合| 免费观看日韩成人av| 婷婷第六色| 欧美日本另类| 色综合77777| 国产激情综合五月久久| 五月丁香花婷婷玉莉AV| 五月花婷婷| 婷婷五月综合啪| 六月色色婷婷| 99精品无码| 人人插9| 99久久99热这里只有精品| 欧美综合123区| 久久久久久久久18久久| 99色综合网| 色噜综| 深爱激情五月天| 日本一级一片免费视频| 狠狠色丁香久久婷婷综合五月| 婷婷五月天综合网| 五月丁香琪琪| 日日.c| 五月丁香婷婷狠狠操| 可以免费观看的AV| www.五月婷婷久久.com| 色天五月天在线观看视频| 婷婷丁香中文字幕| 五月婷婷 欧美| 在线视频你懂得| 午夜成人在线免费视频| 国产在线另类五月婷婷| 五月丁香综合网| 99精品高潮| 性爱视频99| 婷婷中文字幕欧美| 色亚洲无码| 激情久久五月天| 亚洲精品va| 久热 91| 停婷丁五月在线| 五婷婷综合网| 激情啪啪五月天| 丁香六月婷婷| 色综合网址| 丝袜激情网| 久99热在线观看| 中文AV网站| 色吊丝99| 五月婷婷六月丁香色| 中文字幕成人网站| 三区激情四射av| 99操逼视频| 色欲婷婷五月天| 人人97碰| www.亚洲激情.com| 婷婷五月激情在线视频| 97成人操| 婷婷五月天va| 免费看欧美成人A片无码| 99热国产国产| 大香蕉伊人久久| 久操人妻| 东京热免费视频| 久艹大香蕉| 色狠狠色| 色区久久| 色婷婷综合网站| 九九热黄色| 玖玖在线视频| 五月丁香综合激情在线观看| 久久婷婷亚洲| 亚洲va日| 97在线观视频免费观看| 亚洲色婷婷激情| 桃色成人网| www.五月天社区| 五月婷av| 婷婷五月天激情丁香| 色色五月丁香婷婷综合| 激情综合一| 国产精品视频网| www.日韩国产| 日本久久99| 色五月播五月| 五月丁香婷婷AV天堂| 欧美成人猛片AAAAAAA| 这里只有精品9| 色射7856五月天激情四射| 能看的AV| 99在线观看视频免费| 国产午夜精品AV一区二区麻豆| 人人色AV| 97人妻碰碰碰碰碰久久久久久| 色婷婷日本| 五月丁香六月色| 五月婷丁香| 久久99热 这里有精品| 综合 蜜月 婷婷| 色噜噜五月天| 激情五月综合| 婷婷伊人久久无码色五月| 色婷婷六月丁香综合欲精品| 丁香五月婷婷亚洲另类| 久久视频这里有精品99| 亚洲avjiujiur91| 日本精品人妻无码77777| 色色AV色色色东莞| 天天操婷婷| 国产肥白大熟妇BBBB视频| 成人视频婷婷| 超碰免费大香蕉| 狠狠精品干练久久久无码中文字幕 | 婷婷激情综合| 婷婷五月丁香久久| 婷婷综合性爱网| 亚洲va综合va国产va中文| 777久久久| 97天堂| 噜噜五月天综合| 婷丁五月| 久久人视频| 五月天婷婷綜合院|