欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

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

OpenCV位運(yùn)算核心指南:從掩碼摳圖到圖像加密的實(shí)戰(zhàn)技巧

OpenCV位運(yùn)算核心指南:從掩碼摳圖到圖像加密的實(shí)戰(zhàn)技巧 1. 項(xiàng)目概述為什么圖像處理繞不開位運(yùn)算如果你剛開始接觸OpenCV可能會(huì)覺得bitwise_and、bitwise_or這些函數(shù)聽起來很底層甚至有點(diǎn)枯燥遠(yuǎn)不如人臉識(shí)別、目標(biāo)檢測(cè)那么酷炫。但干了這么多年圖像處理我得說這些位操作函數(shù)是構(gòu)建復(fù)雜視覺應(yīng)用的“地基”。它們就像電路里的邏輯門雖然簡單但組合起來能實(shí)現(xiàn)的功能卻非常強(qiáng)大。簡單來說OpenCV的位運(yùn)算就是對(duì)圖像中每個(gè)像素的二進(jìn)制值進(jìn)行邏輯操作。一張灰度圖每個(gè)像素值范圍是0-255對(duì)應(yīng)一個(gè)8位二進(jìn)制數(shù)一張彩色BGR圖每個(gè)通道藍(lán)、綠、紅也都是0-255的8位數(shù)。對(duì)這些二進(jìn)制數(shù)進(jìn)行“與”、“或”、“非”、“異或”操作能實(shí)現(xiàn)很多看似復(fù)雜的效果比如圖像疊加、摳圖、創(chuàng)建蒙版、檢測(cè)變化區(qū)域、圖像加密水印等。很多新手卡在圖像融合不自然、摳圖有毛邊的問題上根源往往就是沒用好這些基礎(chǔ)操作。理解并熟練運(yùn)用位運(yùn)算能讓你從“調(diào)用API”的層面深入到“控制像素”的層面。無論是做簡單的圖像合成還是復(fù)雜的ROI感興趣區(qū)域處理它都是你工具箱里不可或缺的利器。這篇文章我就結(jié)合十多年的踩坑經(jīng)驗(yàn)帶你徹底搞懂OpenCV的四大位操作并分享那些官方文檔里不會(huì)寫的實(shí)戰(zhàn)技巧和避坑指南。2. 核心原理與前置知識(shí)從二進(jìn)制到像素矩陣在動(dòng)手寫代碼之前我們必須把底層的邏輯搞清楚。位運(yùn)算不是OpenCV的魔法而是計(jì)算機(jī)科學(xué)中最基礎(chǔ)的二進(jìn)制操作在圖像數(shù)據(jù)上的應(yīng)用。2.1 圖像的二進(jìn)制表示計(jì)算機(jī)世界里一切都是0和1。對(duì)于一張8位灰度圖像每個(gè)像素用一個(gè)0到255的整數(shù)表示這個(gè)整數(shù)在內(nèi)存中實(shí)際存儲(chǔ)為一個(gè)8位的二進(jìn)制數(shù)。例如像素值 0 - 二進(jìn)制00000000像素值 127 - 二進(jìn)制01111111像素值 255 - 二進(jìn)制11111111對(duì)于彩色圖像如OpenCV默認(rèn)的BGR格式每個(gè)像素由三個(gè)這樣的8位值組成分別代表藍(lán)色(B)、綠色(G)、紅色(R)通道。所以一個(gè)白色的BGR像素是(255, 255, 255)二進(jìn)制表示就是三個(gè)11111111。位運(yùn)算就是逐位bit-by-bit地對(duì)這些二進(jìn)制數(shù)進(jìn)行邏輯計(jì)算。OpenCV的位運(yùn)算函數(shù)本質(zhì)上是將這種逐位計(jì)算高效地應(yīng)用在圖像矩陣Mat對(duì)象的每一個(gè)元素上。2.2 四大位操作的真值表與直觀理解邏輯運(yùn)算有標(biāo)準(zhǔn)的真值表理解它有助于預(yù)測(cè)操作結(jié)果。假設(shè)有兩個(gè)二進(jìn)制位A和BABAND (與)OR (或)XOR (異或)NOT (非對(duì)A)000001010111100110111100把它映射到圖像上我們可以把像素值非00大致理解為“1”真/白色/前景把0理解為“0”假/黑色/背景。當(dāng)然實(shí)際是每個(gè)二進(jìn)制位獨(dú)立計(jì)算但用這個(gè)簡化模型可以快速建立直覺AND (與bitwise_and)兩者都為“真”結(jié)果才為“真”。常用于掩碼Mask操作。比如用一個(gè)黑色背景、白色區(qū)域的二值圖作為掩碼去和原圖做AND就能只保留掩碼白色區(qū)域的圖像其他區(qū)域變黑。這是最常用的摳圖手法。OR (或bitwise_or)兩者有一個(gè)為“真”結(jié)果就為“真”。常用于圖像疊加。比如把兩個(gè)不重疊的物體圖像合成到一張圖上。XOR (異或bitwise_xor)兩者相同為“假”不同為“真”。一個(gè)經(jīng)典應(yīng)用是找出兩幅圖像的差異。相同的區(qū)域異或后為0黑不同的區(qū)域則為非0白。也用于簡單的圖形繪制如棋盤格和加密。NOT (非bitwise_not)取反0變11變0。用于反色或掩碼取反。比如把黑白掩碼反轉(zhuǎn)讓前景變背景背景變前景。注意這里用“真/假”類比是為了直觀理解。實(shí)際操作是嚴(yán)格的逐位二進(jìn)制計(jì)算。例如192 (11000000)AND240 (11110000)的結(jié)果是192 240 176 (10110000)而不是簡單的二值化結(jié)果。2.3 為什么是OpenCV效率與便利性你可能會(huì)問我用NumPy數(shù)組也能做位運(yùn)算啊為什么非要OpenCV原因有兩個(gè)性能優(yōu)化和API專為圖像設(shè)計(jì)。OpenCV的底層是高度優(yōu)化的C代碼對(duì)于大規(guī)模的圖像矩陣運(yùn)算其bitwise_*函數(shù)通常比直接使用NumPy的,|,~,^運(yùn)算符更快尤其是在處理大圖或需要與特定圖像結(jié)構(gòu)如掩碼配合時(shí)。更重要的是OpenCV的這些函數(shù)內(nèi)置了掩碼mask參數(shù)可以在一次調(diào)用中完成“位運(yùn)算區(qū)域選擇”代碼更簡潔意圖更清晰。例如cv2.bitwise_and(img1, img2, maskmask)表示只在mask非零的像素位置上對(duì)img1和img2進(jìn)行AND運(yùn)算其他位置輸出0。這個(gè)功能用純NumPy實(shí)現(xiàn)需要多步操作代碼更啰嗦也容易出錯(cuò)。3. 環(huán)境準(zhǔn)備與基礎(chǔ)操作實(shí)戰(zhàn)理論說再多不如動(dòng)手試一下。我們先搭建環(huán)境然后用最簡單的例子感受每個(gè)函數(shù)的效果。3.1 快速搭建OpenCV Python環(huán)境對(duì)于新手最推薦的方式是使用pip安裝OpenCV的“輕量版”opencv-python。打開你的終端Windows CMD/PowerShell, macOS Terminal, Linux Bash執(zhí)行以下命令pip install opencv-python如果想用更多功能比如某些專利算法可以安裝opencv-contrib-pythonpip install opencv-contrib-python安裝完成后在Python中導(dǎo)入驗(yàn)證import cv2 print(cv2.__version__) # 應(yīng)該能打印出版本號(hào)如 4.8.1如果遇到網(wǎng)絡(luò)問題導(dǎo)致下載慢或失敗可以嘗試使用國內(nèi)的鏡像源例如清華源pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple實(shí)操心得絕大多數(shù)項(xiàng)目opencv-python就足夠了。除非你明確需要contrib倉庫里的額外模塊如SIFT、SURF等特征檢測(cè)器否則不必安裝后者以減少依賴沖突的可能性。另外建議在虛擬環(huán)境如venv, conda中安裝方便項(xiàng)目管理。3.2 創(chuàng)建測(cè)試圖像從零理解像素變化我們不直接用復(fù)雜的圖片而是先創(chuàng)建幾個(gè)簡單的NumPy數(shù)組來模擬圖像這樣你能清晰地看到每個(gè)像素值的變化。import cv2 import numpy as np # 創(chuàng)建兩個(gè)簡單的3x3灰度圖像單通道 # 圖像A: 一個(gè)對(duì)角矩陣 img_a np.array([[255, 0, 0], [0, 255, 0], [0, 0, 255]], dtypenp.uint8) # 圖像B: 一個(gè)矩陣中間像素為255 img_b np.array([[0, 0, 0], [0, 255, 0], [0, 0, 0]], dtypenp.uint8) print(圖像A:\n, img_a) print(\n圖像B:\n, img_b)運(yùn)行后你會(huì)看到兩個(gè)矩陣?,F(xiàn)在我們逐個(gè)應(yīng)用位操作。1. bitwise_and (與操作)and_result cv2.bitwise_and(img_a, img_b) print(A AND B:\n, and_result)輸出會(huì)是A AND B: [[ 0 0 0] [ 0 255 0] [ 0 0 0]]只有img_a和img_b在(1,1)位置第二行第二列都是255二進(jìn)制11111111所以AND結(jié)果才是255。其他位置只要有一個(gè)是0AND結(jié)果就是0。這完美演示了掩碼效果img_b就像一個(gè)“探照燈”只讓img_a中心點(diǎn)透過來。2. bitwise_or (或操作)or_result cv2.bitwise_or(img_a, img_b) print(A OR B:\n, or_result)輸出A OR B: [[255 0 0] [ 0 255 0] [ 0 0 255]]只要img_a或img_b中某個(gè)位置不為0結(jié)果就不為0。所以img_a的三個(gè)角點(diǎn)255被保留中心點(diǎn)兩者都是255結(jié)果也是255。3. bitwise_xor (異或操作)xor_result cv2.bitwise_xor(img_a, img_b) print(A XOR B:\n, xor_result)輸出A XOR B: [[255 0 0] [ 0 0 0] [ 0 0 255]]異或是“相同為0不同為1”。中心點(diǎn)(1,1)兩者都是255完全相同所以結(jié)果為0黑。左上角(0,0)和右下角(2,2)img_a是255而img_b是0不同所以結(jié)果為255白。4. bitwise_not (非操作)not_result_a cv2.bitwise_not(img_a) print(NOT A:\n, not_result_a)輸出NOT A: [[ 0 255 255] [255 0 255] [255 255 0]]非操作是逐位取反。25511111111取反后變成000000000。000000000取反后變成25511111111。所以圖像顏色被完全反轉(zhuǎn)了。注意事項(xiàng)dtypenp.uint8至關(guān)重要。OpenCV位運(yùn)算函數(shù)要求輸入數(shù)組是無符號(hào)8位整數(shù)類型。如果使用默認(rèn)的int類型數(shù)值范圍是-2147483648到2147483647進(jìn)行位運(yùn)算會(huì)產(chǎn)生完全意想不到的結(jié)果甚至導(dǎo)致溢出錯(cuò)誤。4. 核心應(yīng)用場景深度解析與代碼實(shí)現(xiàn)理解了基礎(chǔ)操作后我們來看幾個(gè)真實(shí)項(xiàng)目中高頻出現(xiàn)的應(yīng)用場景。這些場景會(huì)讓你明白位運(yùn)算絕非屠龍之技而是解決實(shí)際問題的瑞士軍刀。4.1 場景一使用掩碼Mask進(jìn)行精確摳圖與合成這是bitwise_and最經(jīng)典的應(yīng)用。假設(shè)我們有一張人物照片和一個(gè)通過分割算法得到的人物二值掩碼人物區(qū)域?yàn)榘咨?55背景為黑色0。我們想把人摳出來放到一張新的背景圖上。步驟拆解準(zhǔn)備素材原圖foreground掩碼mask單通道灰度圖新背景background。確保它們尺寸相同。提取前景使用bitwise_and將原圖與掩碼進(jìn)行“與”操作。原理是在掩碼為白色255的位置原圖像素被保留在掩碼為黑色0的位置結(jié)果像素為0黑。fg_extracted cv2.bitwise_and(foreground, foreground, maskmask)這里第一個(gè)和第二個(gè)參數(shù)都是foreground表示對(duì)同一張圖做AND結(jié)果還是它本身。但mask參數(shù)限定了只對(duì)掩碼非零區(qū)域進(jìn)行操作。反轉(zhuǎn)掩碼為了獲取干凈的背景區(qū)域我們需要對(duì)掩碼取反。mask_inv cv2.bitwise_not(mask)。這樣原來人物的地方變黑0背景變白255。提取背景區(qū)域?qū)⑿卤尘皥D與反轉(zhuǎn)后的掩碼進(jìn)行“與”操作只保留新背景中對(duì)應(yīng)原圖背景的區(qū)域。bg_extracted cv2.bitwise_and(background, background, maskmask_inv)。合成圖像將提取的前景和提取的背景用bitwise_or或add相加得到最終合成圖。final cv2.bitwise_or(fg_extracted, bg_extracted)。完整代碼示例import cv2 import numpy as np # 1. 讀取圖像假設(shè)我們已經(jīng)有了前景圖和對(duì)應(yīng)的掩碼圖 foreground cv2.imread(person.jpg) # 彩色原圖 mask cv2.imread(person_mask.png, cv2.IMREAD_GRAYSCALE) # 單通道灰度掩碼 background cv2.imread(new_scenery.jpg) # 新背景 # 確保尺寸一致實(shí)戰(zhàn)中可能需要resize height, width foreground.shape[:2] background cv2.resize(background, (width, height)) # 2. 使用掩碼提取前景人物 # 注意bitwise_and的src1和src2都是foregroundmask參數(shù)是關(guān)鍵 foreground_extracted cv2.bitwise_and(foreground, foreground, maskmask) # 3. 反轉(zhuǎn)掩碼用于提取背景區(qū)域 mask_inv cv2.bitwise_not(mask) # 4. 從新背景圖中提取出“空洞”區(qū)域原圖背景部分 background_extracted cv2.bitwise_and(background, background, maskmask_inv) # 5. 將前景和背景合成 result cv2.bitwise_or(foreground_extracted, background_extracted) # 顯示結(jié)果 cv2.imshow(Foreground Extracted, foreground_extracted) cv2.imshow(Background Extracted, background_extracted) cv2.imshow(Final Composition, result) cv2.waitKey(0) cv2.destroyAllWindows()避坑技巧掩碼的質(zhì)量直接決定合成效果。理想的掩碼邊緣應(yīng)該是清晰、平滑的。如果掩碼邊緣有鋸齒或噪點(diǎn)合成結(jié)果會(huì)有明顯的黑邊或白邊。實(shí)踐中在生成掩碼后通常會(huì)用cv2.GaussianBlur對(duì)掩碼進(jìn)行輕微模糊例如3x3或5x5核或者使用形態(tài)學(xué)操作如cv2.morphologyEx進(jìn)行開閉運(yùn)算來平滑邊緣這樣bitwise_and后的前景邊緣過渡會(huì)更自然。4.2 場景二圖像差異檢測(cè)與運(yùn)動(dòng)區(qū)域提取bitwise_xor是檢測(cè)兩幅圖像差異的利器。在監(jiān)控、視覺檢測(cè)等場景中我們常需要找出連續(xù)幀之間發(fā)生變化的部分。原理對(duì)于完全相同的兩個(gè)像素異或結(jié)果為0黑色對(duì)于不同的像素異或結(jié)果非0通常是某種灰度或彩色。將兩幅圖進(jìn)行異或得到的差異圖中白色或高亮區(qū)域就是變化的部分。代碼示例import cv2 import numpy as np # 模擬兩幀圖像frame1是靜態(tài)背景frame2中有一個(gè)移動(dòng)的白色方塊 frame1 np.zeros((300, 400, 3), dtypenp.uint8) # 黑色背景 frame2 frame1.copy() # 在frame2上畫一個(gè)白色方塊 cv2.rectangle(frame2, (50, 50), (150, 150), (255, 255, 255), -1) # 計(jì)算差異 difference cv2.bitwise_xor(frame1, frame2) # 為了更直觀可以將差異圖二值化 gray_diff cv2.cvtColor(difference, cv2.COLOR_BGR2GRAY) _, binary_diff cv2.threshold(gray_diff, 1, 255, cv2.THRESH_BINARY) # 閾值設(shè)為1大于1的都視為白色 print(f差異圖中非零像素?cái)?shù)量: {np.count_nonzero(binary_diff)}) cv2.imshow(Frame1, frame1) cv2.imshow(Frame2, frame2) cv2.imshow(Difference (XOR), difference) cv2.imshow(Binary Difference, binary_diff) cv2.waitKey(0) cv2.destroyAllWindows()進(jìn)階應(yīng)用——運(yùn)動(dòng)檢測(cè)流水線在實(shí)際監(jiān)控中直接異或連續(xù)幀會(huì)包含大量噪聲光照變化、相機(jī)抖動(dòng)。一個(gè)更健壯的流程是預(yù)處理將幀轉(zhuǎn)換為灰度圖并應(yīng)用高斯模糊以減少噪聲。gray1 cv2.cvtColor(frame1, cv2.COLOR_BGR2GRAY) gray2 cv2.cvtColor(frame2, cv2.COLOR_BGR2GRAY) blur1 cv2.GaussianBlur(gray1, (5,5), 0) blur2 cv2.GaussianBlur(gray2, (5,5), 0)計(jì)算絕對(duì)差使用cv2.absdiff比bitwise_xor對(duì)光照變化稍魯棒但原理類似。diff cv2.absdiff(blur1, blur2)閾值化將差異圖二值化過濾微小變化。_, thresh cv2.threshold(diff, 25, 255, cv2.THRESH_BINARY) # 閾值根據(jù)場景調(diào)整形態(tài)學(xué)處理用膨脹和腐蝕操作連接相鄰的運(yùn)動(dòng)區(qū)域并消除小噪點(diǎn)。kernel np.ones((5,5), np.uint8) thresh cv2.dilate(thresh, kernel, iterations1) thresh cv2.erode(thresh, kernel, iterations1)查找輪廓在二值化差異圖上找到運(yùn)動(dòng)物體的輪廓。contours, _ cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) for cnt in contours: if cv2.contourArea(cnt) 500: # 忽略面積太小的區(qū)域 x,y,w,h cv2.boundingRect(cnt) cv2.rectangle(frame2, (x,y), (xw, yh), (0,255,0), 2) # 畫框在這個(gè)流程中bitwise_xor或absdiff是觸發(fā)整個(gè)運(yùn)動(dòng)檢測(cè)鏈的第一步。理解其輸出特性是調(diào)優(yōu)后續(xù)閾值和形態(tài)學(xué)參數(shù)的基礎(chǔ)。4.3 場景三創(chuàng)建復(fù)雜形狀的ROI與選擇性處理在圖像分析中我們經(jīng)常只對(duì)圖像的某一部分Region of Interest, ROI進(jìn)行處理。這個(gè)ROI不總是矩形可能是圓形、多邊形或者任意形狀。位運(yùn)算可以幫助我們創(chuàng)建這些復(fù)雜形狀的掩碼并應(yīng)用ROI。案例只處理圖像中的一個(gè)圓形區(qū)域。import cv2 import numpy as np # 讀取圖像 image cv2.imread(sample.jpg) if image is None: # 如果沒有圖片創(chuàng)建一個(gè)示例圖像 image np.ones((400, 600, 3), dtypenp.uint8) * 100 # 灰色背景 cv2.putText(image, Sample Image, (150, 200), cv2.FONT_HERSHEY_SIMPLEX, 2, (255, 0, 0), 3) height, width image.shape[:2] # 1. 創(chuàng)建一個(gè)全黑的掩碼單通道大小與原圖一致 mask np.zeros((height, width), dtypenp.uint8) # 2. 在掩碼上畫一個(gè)白色的圓 center (width // 2, height // 2) radius 100 cv2.circle(mask, center, radius, (255), -1) # -1表示填充 # 3. 使用bitwise_and只保留圓形區(qū)域內(nèi)的圖像 masked_image cv2.bitwise_and(image, image, maskmask) # 4. 可選為了顯示可以創(chuàng)建一個(gè)背景來突出ROI background np.full_like(image, 50) # 深灰色背景 # 將掩碼取反提取ROI之外的區(qū)域 mask_inv cv2.bitwise_not(mask) background_part cv2.bitwise_and(background, background, maskmask_inv) # 將ROI部分和背景部分合并 final_display cv2.bitwise_or(masked_image, background_part) cv2.imshow(Original, image) cv2.imshow(Circular Mask, mask) cv2.imshow(Masked Image (ROI only), masked_image) cv2.imshow(Display with Background, final_display) cv2.waitKey(0) cv2.destroyAllWindows()更復(fù)雜的多邊形ROI# 創(chuàng)建多邊形掩碼 pts np.array([[100, 50], [400, 200], [350, 400], [150, 350]], np.int32) pts pts.reshape((-1, 1, 2)) poly_mask np.zeros((height, width), dtypenp.uint8) cv2.fillPoly(poly_mask, [pts], (255)) # 填充多邊形為白色 # 應(yīng)用多邊形掩碼 poly_masked cv2.bitwise_and(image, image, maskpoly_mask)這個(gè)技術(shù)在工業(yè)視覺檢測(cè)中非常有用比如只檢測(cè)PCB板上的特定焊盤區(qū)域或者只分析顯微鏡圖像中的細(xì)胞所在區(qū)域可以大幅減少無關(guān)區(qū)域的干擾提升處理速度和準(zhǔn)確性。4.4 場景四圖像加密與數(shù)字水印的雛形bitwise_xor有一個(gè)有趣的特性它是可逆的。如果C A XOR B那么A C XOR B。這個(gè)特性可以用于簡單的圖像加密或信息隱藏。簡單加密/解密import cv2 import numpy as np # 原始圖像 original cv2.imread(secret.jpg, cv2.IMREAD_GRAYSCALE) # 以灰度圖為例 # 密鑰圖像可以是隨機(jī)噪聲也可以是另一張有意義的圖 key np.random.randint(0, 256, original.shape, dtypenp.uint8) # 加密原始圖像與密鑰異或 encrypted cv2.bitwise_xor(original, key) # 解密加密圖像與同樣的密鑰異或 decrypted cv2.bitwise_xor(encrypted, key) # 應(yīng)該得到original # 驗(yàn)證 print(原始與解密圖像是否完全一致, np.array_equal(original, decrypted)) cv2.imshow(Original, original) cv2.imshow(Key (Random Noise), key) cv2.imshow(Encrypted, encrypted) cv2.imshow(Decrypted, decrypted) cv2.waitKey(0) cv2.destroyAllWindows()你會(huì)發(fā)現(xiàn)加密后的圖像看起來就像隨機(jī)噪聲而用正確的密鑰解密后原圖完美復(fù)原。這是一種非?;A(chǔ)的對(duì)稱加密。當(dāng)然用于真正的安全加密這還遠(yuǎn)遠(yuǎn)不夠但它在一些需要輕度混淆的場景如隱藏游戲資源、簡單的信息隱藏中仍有其價(jià)值。最低有效位LSB水印的輔助工具更高級(jí)的信息隱藏技術(shù)如LSB水印也會(huì)用到位運(yùn)算。其思想是將水印信息隱藏在像素值的最低幾位對(duì)人眼不敏感。在提取水印時(shí)就需要用到bitwise_and來分離出這些最低位。# 假設(shè)我們有一個(gè)8位灰度像素值 157 (二進(jìn)制 10011101) # 我們想提取最低2位 pixel_value np.uint8(157) low_two_bits_mask np.uint8(0b00000011) # 二進(jìn)制掩碼十進(jìn)制是3 low_bits cv2.bitwise_and(pixel_value, low_two_bits_mask) # 結(jié)果是 1 (01) print(f像素值 {pixel_value} 的最低兩位是: {low_bits})在完整的水印算法中會(huì)對(duì)整幅圖像進(jìn)行這樣的操作提取出隱藏的信息位。5. 性能優(yōu)化、常見陷阱與高級(jí)技巧掌握了基本應(yīng)用后我們來看看如何用得更好、更穩(wěn)。這部分內(nèi)容往往是項(xiàng)目實(shí)戰(zhàn)中積累下來的血淚經(jīng)驗(yàn)。5.1 性能優(yōu)化要點(diǎn)數(shù)據(jù)類型dtype是生命線OpenCV的位運(yùn)算函數(shù)cv2.bitwise_*嚴(yán)格要求輸入數(shù)組為np.uint8類型。如果你從其他庫如PIL讀入圖像或者自己創(chuàng)建數(shù)組時(shí)忘了指定用了int或float類型程序不會(huì)報(bào)錯(cuò)但會(huì)得到一堆溢出后的亂碼結(jié)果。始終在操作前檢查img.dtype。通道數(shù)必須匹配bitwise_and,or,xor要求兩個(gè)輸入圖像src1和src2具有相同的通道數(shù)。你不能直接拿一個(gè)3通道的BGR圖和一個(gè)單通道的灰度圖做運(yùn)算。需要先使用cv2.cvtColor進(jìn)行轉(zhuǎn)換或者確保掩碼mask是單通道的。# 錯(cuò)誤示例 gray cv2.cvtColor(color_img, cv2.COLOR_BGR2GRAY) # result cv2.bitwise_and(color_img, gray) # 錯(cuò)誤通道數(shù)不匹配 # 正確做法1將單通道圖復(fù)制成三通道 gray_3ch cv2.cvtColor(gray, cv2.COLOR_GRAY2BGR) result cv2.bitwise_and(color_img, gray_3ch) # 正確做法2更常見使用mask參數(shù)掩碼必須是單通道 _, binary_mask cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY) result cv2.bitwise_and(color_img, color_img, maskbinary_mask) # mask是單通道的利用mask參數(shù)提升效率這是OpenCV位運(yùn)算函數(shù)的一大優(yōu)勢(shì)。如果你只需要對(duì)圖像的某個(gè)區(qū)域進(jìn)行位運(yùn)算直接使用mask參數(shù)而不是先裁剪出子圖運(yùn)算再拼回去。前者在內(nèi)存和計(jì)算上通常更高效。避免不必要的拷貝位運(yùn)算會(huì)產(chǎn)生新的Mat對(duì)象。如果后續(xù)操作不需要原始圖像可以考慮使用dst參數(shù)某些函數(shù)支持來指定輸出目標(biāo)或者直接覆蓋原變量。但在Python中由于引用機(jī)制通常直接賦值即可需注意大圖像的內(nèi)存占用。5.2 高頻陷阱與解決方案陷阱一掩碼邊緣的“黑邊”或“白邊”問題如前所述當(dāng)掩碼邊緣不夠平滑時(shí)bitwise_and會(huì)在前景物體周圍產(chǎn)生難看的鋸齒狀黑邊如果背景是黑色。反之如果用反轉(zhuǎn)的掩碼提取背景則可能在前景物體位置留下白邊。解決方案平滑掩碼對(duì)二值掩碼進(jìn)行高斯模糊使其邊緣產(chǎn)生灰度過渡。smooth_mask cv2.GaussianBlur(binary_mask, (5, 5), 0) # 現(xiàn)在smooth_mask是一個(gè)灰度圖邊緣值在0-255之間 # 注意bitwise_and的mask參數(shù)理論上要求是二值圖0或非0但實(shí)際接受8位灰度圖。 # 它會(huì)將mask中任何非零值都視為有效區(qū)域但AND運(yùn)算是按位進(jìn)行的灰度值會(huì)導(dǎo)致像素值按比例衰減。 # 對(duì)于合成更好的方法是使用cv2.copyTo函數(shù)它支持灰度掩碼并實(shí)現(xiàn)alpha混合效果。使用cv2.copyTo替代對(duì)于圖像合成cv2.copyTo(src, mask, dst)是更專業(yè)的選擇。它根據(jù)mask將src中對(duì)應(yīng)位置像素直接拷貝到dst上對(duì)于灰度掩碼它實(shí)現(xiàn)的是更自然的混合。# 更優(yōu)的合成方案 foreground cv2.imread(fg.jpg) background cv2.imread(bg.jpg) mask cv2.imread(mask.png, cv2.IMREAD_GRAYSCALE) # 可以是二值或灰度掩碼 # 平滑掩碼如果是二值的 if len(np.unique(mask)) 2: mask cv2.GaussianBlur(mask, (5,5), 0) # 創(chuàng)建一個(gè)背景的副本作為輸出 result background.copy() # 將前景復(fù)制到result上僅作用于mask非零區(qū)域 foreground.copyTo(result, maskmask)形態(tài)學(xué)處理對(duì)二值掩碼先進(jìn)行膨脹操作cv2.dilate讓前景區(qū)域稍微擴(kuò)大一點(diǎn)再用于摳圖可以有效消除黑邊。陷阱二彩色圖像與單通道掩碼運(yùn)算時(shí)的維度不匹配這是新手最常犯的錯(cuò)誤之一。cv2.bitwise_and(src1, src2, mask)要求src1和src2形狀完全一致高度、寬度、通道數(shù)。但mask必須是單通道的且高寬與src1、src2一致。解決方案牢記函數(shù)簽名。對(duì)于彩色圖src3通道和單通道掩碼mask正確的用法是# 方法A使用mask參數(shù)推薦 result cv2.bitwise_and(src, src, maskmask) # src1src2src # 方法B將掩碼轉(zhuǎn)換為3通道不推薦浪費(fèi)內(nèi)存 mask_3ch cv2.cvtColor(mask, cv2.COLOR_GRAY2BGR) result cv2.bitwise_and(src, mask_3ch) # 直接與3通道掩碼做AND陷阱三bitwise_not對(duì)彩色圖像的理解cv2.bitwise_not(img)會(huì)對(duì)圖像的每一個(gè)通道的每一個(gè)像素值進(jìn)行按位取反。對(duì)于8位圖像這等同于255 - img。這會(huì)產(chǎn)生一種“照片負(fù)片”的效果。但有時(shí)你可能只想反轉(zhuǎn)亮度即轉(zhuǎn)換為灰度圖后再取反或者有其他的意圖。直接對(duì)彩色圖取反可能不符合你的視覺預(yù)期。解決方案明確你的目的。如果要得到視覺上的“反色片”直接使用cv2.bitwise_not(color_img)。如果只想反轉(zhuǎn)亮度信息可以先轉(zhuǎn)換到灰度空間gray cv2.cvtColor(color_img, cv2.COLOR_BGR2GRAY) gray_inv cv2.bitwise_not(gray) # 或者直接用gray_inv 255 - gray5.3 結(jié)合其他OpenCV函數(shù)的綜合應(yīng)用位運(yùn)算很少單獨(dú)使用它通常是圖像處理流水線中的一環(huán)。這里舉一個(gè)結(jié)合閾值化、形態(tài)學(xué)和位運(yùn)算進(jìn)行文檔圖像處理的例子提取紙張上的紅色印章。目標(biāo)在一張彩色掃描件中分離出紅色的公章或簽名。思路紅色在BGR色彩空間中B和G通道值較低R通道值較高。我們可以利用這個(gè)特性創(chuàng)建一個(gè)紅色區(qū)域的掩碼。但由于光照和紙張顏色直接閾值效果不好??梢赞D(zhuǎn)換到HSV色彩空間對(duì)色調(diào)Hue進(jìn)行篩選更容易捕捉紅色。使用位運(yùn)算將紅色區(qū)域提取出來。代碼示例import cv2 import numpy as np def extract_red_seal(image_path): img cv2.imread(image_path) hsv cv2.cvtColor(img, cv2.COLOR_BGR2HSV) # 定義紅色的HSV范圍紅色在HSV色環(huán)的兩端需要兩個(gè)范圍 # 范圍1: 低色調(diào)值0-10的紅色 lower_red1 np.array([0, 50, 50]) upper_red1 np.array([10, 255, 255]) # 范圍2: 高色調(diào)值170-180的紅色 lower_red2 np.array([170, 50, 50]) upper_red2 np.array([180, 255, 255]) # 創(chuàng)建兩個(gè)掩碼 mask1 cv2.inRange(hsv, lower_red1, upper_red1) mask2 cv2.inRange(hsv, lower_red2, upper_red2) # 使用bitwise_or合并兩個(gè)紅色區(qū)域的掩碼 red_mask cv2.bitwise_or(mask1, mask2) # 可選使用形態(tài)學(xué)操作去除小噪點(diǎn)連接斷裂區(qū)域 kernel np.ones((3,3), np.uint8) red_mask cv2.morphologyEx(red_mask, cv2.MORPH_CLOSE, kernel) # 閉運(yùn)算 red_mask cv2.morphologyEx(red_mask, cv2.MORPH_OPEN, kernel) # 開運(yùn)算 # 使用bitwise_and提取紅色印章區(qū)域 red_seal cv2.bitwise_and(img, img, maskred_mask) # 創(chuàng)建一個(gè)白色背景用于清晰顯示提取結(jié)果 white_bg np.ones_like(img) * 255 # 將非紅色區(qū)域用白色填充 final cv2.bitwise_or(red_seal, white_bg, maskcv2.bitwise_not(red_mask)) # 上面這行代碼是組合技 # 1. red_seal 包含了紅色區(qū)域的原始顏色。 # 2. white_bg 是純白圖像。 # 3. maskcv2.bitwise_not(red_mask) 意味著只在“非紅色”區(qū)域進(jìn)行操作。 # 4. bitwise_or 的結(jié)果是在紅色區(qū)域使用red_seal的像素在非紅色區(qū)域使用white_bg的白色像素。 cv2.imshow(Original, img) cv2.imshow(Red Mask, red_mask) cv2.imshow(Extracted Red Seal, final) cv2.waitKey(0) cv2.destroyAllWindows() return red_mask, final # 使用函數(shù) mask, result extract_red_seal(document_with_seal.jpg)這個(gè)例子展示了如何將色彩空間轉(zhuǎn)換、閾值分割、形態(tài)學(xué)處理和位運(yùn)算串聯(lián)起來解決一個(gè)具體的實(shí)際問題。bitwise_or用于合并掩碼bitwise_and用于提取目標(biāo)bitwise_not用于獲取反向區(qū)域它們協(xié)同工作構(gòu)成了處理流程的核心邏輯。6. 調(diào)試技巧與問題排查實(shí)錄即使理解了原理在實(shí)際編碼中還是會(huì)遇到各種奇怪的問題。下面是我總結(jié)的一些調(diào)試方法和常見問題的排查清單。6.1 可視化調(diào)試眼見為實(shí)當(dāng)位運(yùn)算結(jié)果不符合預(yù)期時(shí)最有效的調(diào)試方法是將中間每一步的圖像和矩陣數(shù)據(jù)打印或顯示出來。顯示圖像用cv2.imshow()和cv2.waitKey(0)查看每一張中間圖像原圖、掩碼、每一步的結(jié)果。確保窗口標(biāo)題清晰方便對(duì)比。打印形狀和數(shù)據(jù)類型print(img.shape, img.dtype)。確保參與運(yùn)算的圖像高、寬、通道數(shù)一致且數(shù)據(jù)類型是uint8。打印關(guān)鍵區(qū)域像素值如果問題集中在某個(gè)小區(qū)域直接打印那個(gè)區(qū)域的矩陣。# 假設(shè)結(jié)果圖中某個(gè)方塊應(yīng)該是白色但顯示為黑色 x, y, w, h 50, 50, 10, 10 # 問題區(qū)域坐標(biāo) patch_original original_image[y:yh, x:xw] patch_mask mask[y:yh, x:xw] patch_result result_image[y:yh, x:xw] print(Original patch:\n, patch_original) print(Mask patch:\n, patch_mask) print(Result patch:\n, patch_result)使用Matplotlib進(jìn)行對(duì)比顯示對(duì)于多圖對(duì)比matplotlib比OpenCV的imshow更方便。import matplotlib.pyplot as plt fig, axes plt.subplots(2, 3, figsize(12,8)) images [img, mask, result1, result2, final] titles [Original, Mask, Step1, Step2, Final] for ax, img, title in zip(axes.flat, images, titles): # OpenCV是BGRmatplotlib是RGB需要轉(zhuǎn)換 if len(img.shape) 3: img_display cv2.cvtColor(img, cv2.COLOR_BGR2RGB) ax.imshow(img_display) else: ax.imshow(img, cmapgray) ax.set_title(title) ax.axis(off) plt.tight_layout() plt.show()6.2 常見問題速查表問題現(xiàn)象可能原因排查步驟與解決方案輸出圖像全黑1. 掩碼全為0。2. 兩張輸入圖像在所有像素點(diǎn)上都“與”出0。3. 數(shù)據(jù)類型不是uint8導(dǎo)致溢出。1. 檢查掩碼圖像是否正確生成用cv2.imshow查看或print(np.unique(mask))看是否只有0。2. 檢查兩張輸入圖像是否有重疊的非零區(qū)域。3. 打印img1.dtype和img2.dtype確保是uint8。輸出圖像有奇怪的色塊或條紋通道數(shù)不匹配。例如用3通道圖與單通道圖直接做bitwise_and。打印img1.shape和img2.shape。確保通道數(shù)相同或使用mask參數(shù)要求mask為單通道。bitwise_not后圖像顏色怪異對(duì)彩色圖像取反的理解有誤。彩色圖取反是每個(gè)通道獨(dú)立取反產(chǎn)生的是顏色互補(bǔ)的“負(fù)片”并非簡單的明暗反轉(zhuǎn)。確認(rèn)你的需求。如果是想得到明暗反轉(zhuǎn)的灰度圖應(yīng)先轉(zhuǎn)灰度cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)再取反。掩碼邊緣有鋸齒合成不自然掩碼是硬邊界二值圖與背景融合生硬。對(duì)二值掩碼進(jìn)行高斯模糊得到灰度過渡的掩碼。或者使用cv2.copyTo函數(shù)進(jìn)行合成它支持灰度掩碼的alpha混合。程序報(bào)錯(cuò)(-215:Assertion failed)OpenCV常見斷言錯(cuò)誤通常意味著函數(shù)輸入?yún)?shù)不滿足條件。錯(cuò)誤信息會(huì)指明具體行。常見原因圖像為空img is None、尺寸不匹配、通道數(shù)不匹配、數(shù)據(jù)類型不支持。逐一檢查輸入?yún)?shù)。性能慢處理大圖卡頓1. 在循環(huán)中對(duì)像素進(jìn)行逐位操作。2. 創(chuàng)建了不必要的中間圖像副本。1.絕對(duì)避免用Python循環(huán)遍歷圖像像素。OpenCV的位運(yùn)算函數(shù)是向量化優(yōu)化過的一次調(diào)用處理整個(gè)矩陣。2. 檢查代碼是否有重復(fù)的cv2.cvtColor、cv2.resize等操作盡量復(fù)用變量。對(duì)于超大圖像考慮先縮放或分塊處理。6.3 一個(gè)綜合調(diào)試案例Logo疊加的透明感需求將公司Logo帶有Alpha通道的PNG疊加到產(chǎn)品圖片上實(shí)現(xiàn)透明效果。錯(cuò)誤做法直接讀取PNG為BGR丟失Alpha通道然后用bitwise_and加二值掩碼合成結(jié)果Logo有生硬的白邊。調(diào)試與解決過程檢查數(shù)據(jù)logo cv2.imread(logo.png, cv2.IMREAD_UNCHANGED)。打印logo.shape發(fā)現(xiàn)是4通道BGRA。A就是Alpha通道表示透明度。分離通道bgr logo[:, :, :3]獲取顏色通道alpha logo[:, :, 3]獲取透明度通道。alpha是一個(gè)單通道灰度圖值在0全透明到255不透明之間。問題根源直接對(duì)alpha二值化如alpha 0會(huì)丟失半透明信息導(dǎo)致邊緣鋸齒。我們需要這個(gè)灰度Alpha通道作為融合的權(quán)重。正確合成Alpha混合使用cv2.addWeighted或手動(dòng)計(jì)算而不是簡單的bitwise_and。# 將logo縮放到合適大小 logo_resized cv2.resize(bgr, (width, height)) alpha_resized cv2.resize(alpha, (width, height)) # 將alpha通道歸一化到0-1范圍作為權(quán)重 alpha_normalized alpha_resized.astype(float) / 255.0 # 產(chǎn)品圖背景 background product_img.copy() # 手動(dòng)Alpha混合結(jié)果 logo * alpha background * (1 - alpha) for c in range(3): # 對(duì)B,G,R三個(gè)通道分別計(jì)算 background[:, :, c] (logo_resized[:, :, c] * alpha_normalized background[:, :, c] * (1.0 - alpha_normalized)) final_result background.astype(np.uint8)優(yōu)化上述循環(huán)較慢。可以使用OpenCV的cv2.multiply和cv2.add進(jìn)行向量化運(yùn)算或者直接使用cv2.addWeighted函數(shù)但需處理多通道。更高效的是利用cv2.merge和cv2.split。# 更高效的向量化實(shí)現(xiàn) alpha_3ch cv2.merge([alpha_normalized, alpha_normalized, alpha_normalized]) # 變成3通道權(quán)重 foreground_part cv2.multiply(alpha_3ch, logo_resized.astype(float)) background_part cv2.multiply(1.0 - alpha_3ch, product_img.astype(float)) final_result cv2.add(foreground_part, background_part).astype(np.uint8)這個(gè)案例告訴我們bitwise_and適合處理非黑即白的硬切割。對(duì)于有平滑過渡、透明度變化的融合需要用到基于權(quán)重的混合算法。位運(yùn)算是工具選擇正確的工具是關(guān)鍵。位運(yùn)算在OpenCV中看似基礎(chǔ)卻是構(gòu)建圖像處理大廈的磚瓦。從簡單的圖像掩碼、ROI提取到復(fù)雜的運(yùn)動(dòng)檢測(cè)、信息隱藏其核心思想都是通過對(duì)像素二進(jìn)制值的精確控制來實(shí)現(xiàn)邏輯目標(biāo)。掌握它們意味著你獲得了直接與圖像數(shù)據(jù)對(duì)話的能力。我個(gè)人的經(jīng)驗(yàn)是每當(dāng)遇到需要組合、分離或比較圖像區(qū)域的任務(wù)時(shí)先想想能不能用位運(yùn)算優(yōu)雅地解決。很多時(shí)候一行cv2.bitwise_and加上一個(gè)巧妙的掩碼比寫幾十行循環(huán)判斷要高效和清晰得多。多動(dòng)手實(shí)驗(yàn)用本文的代碼示例作為起點(diǎn)嘗試修改參數(shù)、組合不同的操作你很快就能體會(huì)到這種“底層”操作帶來的強(qiáng)大控制力和靈活性。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
五月天成人网婷婷| 婷婷色五月丁香六月欧美啪| 色哟哟精品| 91超级碰在线视频| 天堂久久丁香| 五月天丁香| 五月婷婷久久综合| 亭亭五月丁香综合欧美| 色综合偷拍| 五月天开心网| 色欲婷婷五月天| 免费色色色| 精品九九婷婷| 在线观看视频1区| 精品国产va久久久| 亚洲五月天伊人| 69人人操人人爽| 久久色情| 亚洲乱码在线观看| 久久精品这里只有精品免费首页| 天天操天天日天天爽| 99热在线观看精品| 91久草五月天婷婷| 岛国AAAV| 五月天操逼激情| 色五月偷偷| 襙逼网| 亚洲精品视频电影| 欧美人人草草| 9热在线| 婷婷爱五月天| 天天操天天干天天日| 五月丁香六月在线| 婷婷五月色播放| 天天日综合网射| 91日韩美女被插视频| 亚洲经典三级| 爱99干99| 少妇人妻丰满做爰XXX| 黄色片区子| 九九热免费| 亚洲精品欧洲精品| 五月情四婷婷| 色婷婷五月天激情久久| 久婷婷五月丁香在线观看| 日hao1区| 亚洲无码11| 红桃91人妻爽人妻爽| 天天插天天插| 国产偷人爽久久久久久老妇APP| 久婷婷| 五月婷婷在线视频| 91操片| 99热只有这里有精品| 99热成人在线观看| 亚洲五月天另类小说图片| 婷婷四色五月| 亚洲六月色| 丁香六月天婷婷开心综合| 秋霞三级色戒| 99亚洲大片精品永久在线观看 | 综合久久高清| 久操热线| 99热精品在线观看| 免费色婷婷| 嫩草AV久久伊人妇女超级A| 色婷婷丁香五月| 久久草大香蕉| 五月婷婷久久网| 色婷婷激情视频| 99视频热99| 欧美精品中文字幕亚洲专区| 97婷婷五月丁香| 久久全意婷婷| www,com,五月色色| 久久视频这里都是精品| 亚美欧色影院| 色色色色五月| 激情五月丁香五月色| 成人无码精品1区2区3区免费看| 99ER热精品视频| 青柠影视免费高清电视剧| 99这里有精品| 久婷自拍视频| 丁香五月天激情婷婷丁香六月| 亚洲视99| 婷婷色五月在线视频| 五月婷婷在线视频观看| 99热这里只有精品在线观看| 欧美激情-区二区三区| 人操91在线| 99少妇精品| 久久99综合网| 色丁香五月婷婷婷| av狠狠操| 激情婷婷丁香| 亚洲婷婷婷| 五月丁欧美| 69婷婷丁香午夜| 五月色综合网| 久久er99热精品一区二区| 99在线免费视频播放| 日本99在线| 夜夜骑操AV| 丁香五月婷婷激情视频播放| 九九九热精品| 99在线小视频| 丁香五月天人体| 亚洲va日| 情涩婷婷五月天| 激情五月天丁香| 99久久人妻精品无码二区| 五月婷婷黄色网址| 亚洲五月丁香综合网| 开心五月天激情| 婷婷亚洲综合| 激情综合网激情五月婷婷| 色99www.| 五月婷婷啪啪网| 久久 婷婷 五月天| 免费观看欧美成人AA片爱我多深| www.91婷婷| 深爱激情九九五月天 | 五月婷婷综合社区| 五月丁香激情婷婷综合| 精品一二三区久久AAA片| 六月丁香啪| 五月伊人综合| 五月天开心色情网| 五月天社区婷婷丁香社区| 加勒比色色| 成人婷婷| 五月婷婷色综图片| 久久五月天网| 五月天伊人久久久久| 五月深爱婷婷| 日本精品久久久久中文字幕| 激情综合啪啪啪| 日韩按摩二区| 99操中文视频| 激情六月婷婷| 超碰人人操人人9| 色播丁香五月婷婷操:屄| 五月天精品| 三年高清大片免费观看国语| 开心婷婷五月天电影院| 欧美在线视频99| 男人天堂99| 婷婷伊人五月天| 亚洲欧洲另类图片| 狠婷婷五月| 久久久com| 色婷婷免费观看| 天天艹夜夜艹| 久热 91| www.狠狠艹| 九九热精品视频在线观看| 另类激情五月| 色五月婷婷色| 激情小说五月天中文字幕| 婷婷五月天久久| 996er热| 狠狠操婷婷| 99在线精品观看99| 亚洲网站在线鸭子av| 九九热精品99| 五月开心婷婷中文字幕| 五月天激情国产综合婷婷| 色色网91| 五月婷婷激情在线| 99色丁香婷婷综合网| 热九九精品| 五月天激情啪啪| 五月天亚洲综合网| 婷婷五月丁香久久| 亚洲五月天激情| 五月丁香婷婷综合在线| 五月婷婷六月激情| 日本天天操| 99在线热视频| 九九热免费视频| 久久精品国产色| 中文字幕人妻熟女在线| 韩国天天婷婷| 久99| 久热精品9999| 婷婷色色五月天| 9久久久| 96丁香六月婷婷蜜桃综合久久| 久久婷婷人人| 国产69久久久欧美黑人A片| 激情五月天之六月婷婷| 亚洲Av成人在线观看| 香蕉婷婷色五月| 五月婷精品| 日本色色色| 亚洲avjiujiur91| 国产毛片精品一区二区色欲黄A片| 亚洲色情网站| 人人色人人摸人人看| 少妇性按摩无码中文A片| 狠狠色婷婷丁香六月| 久久久91精品| 九九热精品| 五月四色色| 久久大大香| 可以直接看的av| 久久久99婷婷久久久久久| 丁香五月在线观看| 色五月婷婷小说亚洲中文字幕组| 99热这里只有精品亚洲| 九色无码| 色九九中文字幕| 9热视频在线观看| 亚洲人人96@| 99热伊人综合| 大战熟女丰满人妻AV| 欧美人人草| 五月丁香六月婷| 国产精品日本一区二区在线播放| 色婷婷伊人| 5月婷婷性视频| 欧美视频五区| 久久99久久久| 99热精这里只有精品| 九月丁香欧美综合| 激情98色婷婷五| 亚洲1区| 色人妻五月| 五月激情啪啪啪| 五月九九综合| 亚洲精品白浆高清久久久久久| 狠狠干天天日| 婷婷五月丁香综合激情| 激情综合另类| 欧洲综合视频在线观看。欧洲,亚洲综合食品在线观看。 | 日本偷拍九九九| 婷婷久久色| 综合图片色色| 99久久6| 天天综合激情| 色五月色图| 色欲色欲久久宗合网| 日本久久精品| PORNY九色9l自拍视频成人| 六月五月婷婷| 婷婷五月天亚洲精品| 亚洲欧洲99| 日日噜噜久久婷婷五月天| 内射在线CHINESE| 婷婷五月色播放| 丁香五月婷婷AV在线| 丁香网五月网| 人妻VideOssS人妻| 色综合色色色色色| 激情婷婷网| 激情五月天在线| 色婷婷色99国产综合精品| 国产亚洲成AV人片在线| 久久机热探花| 狠狠色狠狠色综合日日91| 五月天社区| 婷婷五月激情网| 99亚洲精美视频在线观看| 中文字幕在线视频播放| 日韩av在线播放综合网| 色月丁| 在线综合啪| 婷婷丁香色五月天| 国产综合A片| 大香伊人久色| 99偷拍视频在线日本| BlACKEDRAW视频一区二区| 中日韩美欧成人一区二区精品在线| 婷婷色影院| 狠狠色成人影片| www.99视频| www激情| 欧洲亚洲免费视频9| 9精品在线| 激情五月六月婷婷| 狠狠ri| 夜色五月天| 99热草草| 热热99爱爱| 丁香六月狠狠干| 日韩啪啪视频| 久久这里只有精品无码| 日婷婷久久开心| 欧美爆乳一区二区三区| 五月丁香色综合| www.91操| 九九免费视频在线| 婷婷五月综合激情免费视频| 综合性爱网| 久热婷婷| 丁香花社区av| 五月天堂婷婷| 欧洲亚洲激情五月天在线| 亚洲色 视频| 五月天网站免费欧美| 九九99在线免费在线观看视频| 久草热8精品视频在线观看| 新激情五月天| 天天舔天天插天天爱| 激情五月激情综合网一级丸片| 五月婷婷黄色视频| 日韩成人中文字幕| 爱穴久久| 丁香五月天在线观看视频| 中文字幕丁香五月| 丁香五月人妻| 狠狠干,狠狠操| 五月婷婷伊| 婷婷久久综| 91精品熟女| 五月花激情| 日本三级中国三级99人妇网站| 99ER热精品视频| 色婷婷在线影院| 99操| 五月婷婷色五月| 久久怕怕视频| 亚洲碰碰碰| 日本久热| 丁香综合婷婷五月天| 综合激情五月丁香| 五月色丁香| 婷婷久久五月| 久久久久婷婷| 香蕉99网| 婷婷成人综合五月| 久久小视频| 99色.com| 99热只有精| 五月丁香六月在线| 91在线操| 老司机伊人| 久久免费精彩视频| oumeisesewang| 91久久久久久| 黄色三级日本| 丁香五月自拍| 婷婷亚洲色| 亚洲av综合网| 五月婷婷性爱| 丁香婷婷激情| 色色色色色级无码| 久久久天堂国产精品女人| √天堂资源在线人妻熟女| 狠狠狠狠狠狠| 大香蕉九操| 五月天激情四射网站| 色综合久久88色综合天天| 丁香五月激情综合网激情五月| 久久婷婷五月天| 欧美精品999| 五月色色网| 亚洲婷婷久久综合| 亚洲人妻av| 色噜噜狠狠色综合成人99| 五月丁香六月婷婷色情| 婷婷丁香五月天影院| 丁香五月AV| 五月久久网| 超碰高清在线| www久| 欧美丁香婷婷五月| 婷婷五月天激情综合| 精品久久人妻| 五月婷六月天| 亚洲AV无码成人精品区电影网| 丁香六月婷婷综合啪啪| 激情六月天婷婷| 97干免费视频| 色五月激情视频在线综合| 亚洲色五月婷婷| 五月婷婷色综图片| 五月天激情亚洲| 久热这里只有精品6| 狠狠色婷婷7777久综合| 三级三久久线久久99久目本WW| 成人av免费观看| 五月天激情国产综合婷婷婷| 五月激情综合深爱| 激情六月婷婷| www.超碰97| 天天干 夜夜爽| 性生活视频98791| 激情深爱五月天| 激情亚洲色图片丁香综合| 天堂网操| 99色视频| 婷婷六月色| 久久这里只有精彩| 色婷婷色五月综合| 99无码视频| 婷婷五月天免费视频在线观看| 日本专区久久| 色婷婷成人做爰A片免费看网站| 91人妻视频| 97久久五月丁香婷婷| 日日综合网| 久久网思思| www.9797国产| 播丁香五月婷婷欧美| 天天操夜夜操| 婷婷五月天日日日干干干| 在线成人av播放| 亚洲色另类| 97丁香五月| 操操操操操操婷婷五月天| 久久九九激情五月天| 天天爽天天| 色婷五月天亚洲| 午夜丁香 婷婷| 六月婷婷色综合| 五月天婷婷激情综合| 爱性综合网| 激情丁香五月| 97热91| 中文字幕永久免费| 26uuu精品一区二区| 欧美欧盟性爱网| 激情婷婷综合网| 无码人妻少妇色欲AV一区二区| 五月天成人在线视频网站| 夜夜骑日日操| 五月丁香综合啪啪| 婷婷玖玖五月天| 五月婷婷很很色| 丁香色婷婷| 精品人妻伦一二三区久| 六月久久狠狠| 天天天天做夜夜夜夜做| 婷婷六月色丁香视频在线观看| 伊人玖玖婷婷| 六月丁香成人| 人操91在线| 97色碰| 91精品久久久久久77777| 影音先锋人妻出差| 天天爽天天摸| 天天橾夜夜爽| 五月天婷婷人妻| 69五月天视频| 五月花成人网| 我爱婷婷五月天综合88| 五月丁香六月婷精品视频| 色婷婷激情| 97热久久五月婷婷| www91精品| 百度一下国产精品A| 亚洲色五月| 性爱视频久久| 丁香成人五月天| 超碰在线国产| 五月丁香婷婷综合网| 久久婷婷网站| 99热这里有精力| aaa久久| 婷婷的色色五月天| 色欲天天综合| 色色色色网站| 丁香五月天啪啪| 99热日本| AV成人在线网站| 人妻第九页| 少妇搡BBBB搡BBB搡毛茸茸| 狠狠操狠狠插| 丁香五月婷婷综合啪啪| 五月丁香久久激情综合| 日本情色一区二区| 五月天婷婷香蕉狠狠超碰综合| 韩国19 主播内部福利vip免费播放| 美国不卡视频| 久久婷婷五月天激情新地址| 这里只有精品日韩精品| 久久久久久综合五月婷婷| 五月婷婷色吧!| 欧美激情综合色综合色| 五月丁香香蕉| 激情五月天婷婷丁香| 色色热| 九九99九九精品免费| 亚洲综合网在线| 一起操最新网址| 91人人爱| 99精品无码网站| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 色五月综合网| 丁香色婷婷| 夜夜嗨一区二区三区直播内容 | 俺去也综合| 少妇大叫太大太粗太爽了A片| 国产又爽又猛又粗的视频A片 | 五月激情影视| 97操碰98| 亚洲午夜av| 五月丁香婷婷激情在线视频| 六月色播| 激情五月久久| 99艹精品在线观看| 日韩欧美一区二区三区四区| 婷婷久久综合久色| 超碰在线人妻| 97婷婷五月激情六月丁香伊人| 九色PORNY自拍成人精彩视频| 永久99免费视频网站| www.成人婷婷综合| 99热这里只有精| 日本三级日本黄色| 婷婷五月天AV网| 天天干天天爽天天操| 大香线蕉伊人| 1024欧美看片| 这里只有精品,日韩视频| 狠色色狠网| 婷婷激情五月| 99色在线视频观看| WWW五月天| 天天爽天天操| 婷婷五月天天| 狠色狠色狠狠色综合网| 婷婷五月综合啪| 性爱网五月婷婷| 99操视频| 婷婷五月天情色| 极品人妻VIDEOSSS人妻| 日本九九九九| 99国产精品久久久久久久久久久| 美女婷婷激情亚洲| 五月天第四色开心色播| 东京热伊人| 十二区无码| 99这里有精品免费| 五月婷婷天| 综合久久伊人| 久热精品视频| 99年操人人爽| 五月天无码视屏播放| aaa久久| 久久男人网婷婷| 91精品熟女| 色婷婷久久久| 六月色播| 91成人电影| 五月丁香综合久久夜夜| 色婷婷六月天在线| 婷婷97色| 色婷婷亚洲在线| 99无码| 激情五月天久久丁香| 99色| 九九热在线99| 丁香五月欧美| 色五月婷婷1| 91成人性爱视频| 色综啪啪| 色五月人妻| 五月丁香激情综合网官网| 夜夜骑日日夜夜| 欧美槡BBBB槡BBB少妇| 亚洲婷婷在线播放十月| 亚洲色婷婷五月天| 亚洲国产精品五月天| 一起草性爱不卡视频| 欧洲不卡视频| 婷婷综合五月天| 国产免费一区二区在线A片视频| 91色操| 日韩AV片| 国产精品色色| 亚洲人人干| 天天躁日日躁狠狠躁日日躁2022年5月9日 | 精品五月视频婷婷在线观看| 天天日天天摸| 激情婷婷五月天网址| 成人综合网站| 婷婷五月天资源| 亚洲殴洲精品Av在线| 热99在线| 精品网站:999WWW| VA色婷婷| 色婷婷五月基地在线| 精品人妻伦九区久久AAA片| 五月婷婷熟女| 91精品国产色猫| 五月婷婷导航| 亚洲无码成人网| 被强行糟蹋的女人A片| 五月色婷婷激情| av一区二区电影免费在线观看| 99热在线只有精品| 色综合色色| 99性爱| 久热A| 婷婷久久免费| 欧美色色色色色| 狠狠干总合| 性爱五月婷| 久超超碰| 丁香五月丁香伊人| 国产成人AV在线播放| 狠狠色综合网站久久久久| 色综合色综合婷婷热| 综合 激情 婷婷| 七七九色| 久久人妻情侣| 97精品在线| 亚洲乱码日产精品BD| 26uuu亚洲精品国产| 五月婷啪| 亚洲AV无码电影| 91成人视频| 超碰AAAAAAV| 九九精品热播| 玖玖色综合色| 婷婷六月丁| 五月成人综合| 五月色婷婷综合色| 男人的天堂五月丁香| 丁香激情网| 色五月涩涩婷婷| 五月丁香六月色情网欧美| 免费啪啪啪网站| 99久久婷婷| 天天色天天日| 夜夜爽天天日| 亚洲VA欧美VA| 久久六月天| 精品操逼一区二区| 乱岳熟女50岁| 99热6这里只有精品| 99热国产这里只有精品| 亚洲色情一区二区三区四区| 婷婷久久亚洲| 538任你爽视频不一样的| 日本操天堂| 99免费热视频在线| 久久婷婷五月综合伊人| 九九亚洲视频| 五月天激情网页| 五月天国产成人| 超碰97久久| 亚洲成人在线电影网站| 国产毛片精品一区二区色欲黄A片| 九久久婷婷| 影音先锋色婷婷| 夜夜干天天干| 五月婷婷开心丁香| 开心五月婷婷激情网| 性爱动图国产麻豆一区二区三区| 天天操加勒比| 日韩在线观看亚洲| se99热久久一本| 五月丁香亭亭A片| 91av传媒高清在线视频网| 很很干天天干| 天天日天天舔| 五月天色区| 色五月琪琪| 色综合天堂| 99综合网| 停停五月色宗合| 99久久网站| 婷婷婷婷色| 婷婷五月丁香网| 日本性激情色播| 久久 这里只有精品1| 欧美久久五月婷婷| 亚洲激情高潮| 六月色五月天天婷婷| 婷婷六月丁香久| 日韩抽插操逼| 日韩激情人伦人| 五月婷人妻| 精品婷婷五月视| 操逼福利视频| 都市激情小说婷婷| 99精品小视频| 在线观看免费狠狠色丁香香综合| 99热免费精品| 人人爱国产| 香蕉综合网| 欧美韩国日本| 亚洲岛国电影| 色香久久| 婷婷丁香人妻天久久| 思思热久久阴99| 亚洲丁香五月天在线视频| 日日干夜夜撸夜夜骑| 综合五月天天天天天五月| 色久免费| 六月婷婷五月丁香| 夜夜撸天天操| 国产精品成人AV在线观看春天 | 色婷婷五月综合色婷婷| 久久一级片| 色狠狠色噜噜AV天堂五区消防| 久热这里只有精品6| 久99在线视频| 99激情视频| 色色色com| 91操屁股| 丁香五月AV综合| 丁香五月网| 六月婷婷中文字幕| 狠狠搞狠狠操| 亚洲99精品九九在线| 4399高清无码视频| 久热这里有精品视频| 婷婷五月天欧美图片在线播放电驴| 九九热最新地址| 91狠狠色丁香婷婷综合久久| 九月丁香网婷婷| 26uuu丁香婷婷五月| 日日操夜夜操狠狠操| 丁香五月区| 99在线精品免费视频| 亚洲12p| 欧美日比视频| 色婷婷五月综合在线| 伊人色综合久久久| 4399啪啪视频| 激情四射网| 五月丁香婷婷伊人| 激情五月影院| 99偷拍视频在线日本| 99惹| 99九九在线观看免费| 嫩草极品| www九九热| 人人摸人人摸| 51精品国自产在线| 91色综合| 噜噜吧天天爱| 欧美五月停| 少妇激情基地| jiZZdr| 熟女少妇内射日韩亚洲| 日本一道久久| 精品人妻久久久久久| sS丁香五月婷婷| 五月婷婷免费看| 精品夜夜澡人妻无码AV| 久久精品婷婷| 天天噜| 九九热这里只有精品9| 九九热视频精品2| 色99色| 99热99日天天干| 色五月天综合| 在线播放成人网站| 久久婷色| 丁香六月啪啪啪| 欧美婷婷丁香五月| 天天综合网亚洲网站| 亚洲熟妇AV乱码在线观看| 噜噜噜狠狠色综| 在线只有精品| 色色丁香五月天社区| 色五月婷婷天天操夜夜操| 26uuu国产| 婷婷五月亚洲激情| www婷婷| 97九色| 亚洲婷婷丁香| 色婷婷丁香九月| 亚洲五月婷婷| WWW久| 日韩啊啊啊| WWW.久久久久久久久久久久久| 丁香五月激情婷婷| 日本91在线播放| 伊人婷婷五月| 六月色丁香婷婷| 五月综合六月婷婷| 操逼视频网址| 婷婷婷婷色| 岛国资源站| 色综合色综合色综合色综合| 月色色综合婷婷网| 日本色婷婷| 婷婷丁香亚洲色综合91| 91操片| 超碰操网| 五月综合视频| 天天成人五月天| 变态 另类 在线| 久久人妻人人槡| 超碰丁香五月| 五月天丁香婷婷社区| 丁香色成人| 久久九区| 激情五月图| 2025超碰| 蜜臀久久99精品久久久久久酒店| 五月婷婷丁香av| 综合久久五月| 五月天 婷 欧美亚洲| 五月婷婷六月天| 国产67194| 色婷婷五月天成人网| 色情婷婷久久五月天| 久久美女五月天| 97操视频| 国产真实乱了老女人视频| 亚洲免费99| 六月婷婷网| 亚洲AV成人在线| 天天人人天天爽| 日本色超碰| 91狠狠综合网| 六月丁香婷婷网| 欧美日本99| 99精品自拍| 天天色综合色| 激情淫乱男女| 伊人婷婷五月天| 热99只有精品| 色情五月天丁香社区| 丁香六月啪| 开心五月天激情网站| AV在线免费播放| 99精品成人无码A片观看金桔| 久 久9 9 热 视 频| 丁香五月在线自慰| 日本一级黄色片。| 97资源欧美日韩大香蕉超碰一区| 男人天堂亚洲综合| 大伊香蕉玖玖爱| 99热超碰在线| 九九热最新| 五月丁香六月激情综合啪啪| 激情五月天婷婷色色色色色色色色色色色 | 欧美碰碰碰| 天天插天天爽| 这里只有精品免费 | 亚洲性爱电影| 开心五月婷| 大香蕉综合在线| 色亭亭丁香五月天| 婷婷综合视频| 婷婷丁香五月婷婷| 国产精品18久久久| 五月婷婷啪啪| 日韩av干| www久| 色九九丁香九月色九九色| 五月丁香色色网| 综合色影院| 九九热视频免费| 99综合视频在线| 激情 婷婷| 99re8热精品免费视频| 天干夜夜操| 天天干天天插| 五月婷婷九月婷婷九月婷婷| WWW丁香五月| www.99久久久| 69人妻人人澡人人爽久久| 99原创自拍视频在线观看| 狠狠综合| 性天堂久久| 日日色综合| 丁香五月天成人| 五月深爱婷婷| 第2色五月婷| 九色91国产| 99热全是精品| 99热黄| 操操综合网婷婷| www.色五月| 欧美操人| 亚洲无码99| 亚洲色热| 99爱在线视频| 日日干天天| 久久婷婷成人综合色怡春院| 激情五月天综合网| 色色日本欧美| 婷婷五月天国产| 五月婷婷之综合激情| 色婷婷狠狠干芒果TV| 欧美性色五月天| 三十路磁力链接| 午夜九九电影| 亚洲五月天综合| 五月综合在线婷婷图片| 丁香五月亭亭六月综合激情网| 2015好吊操| 亭亭五月丁香综合欧美| 五月婷婷xxx| av 一区三区四区| 五月天开心激情网色欲无码| 涩涩五月天综合| 色五月丁香总合网| 怡红院院在线导航网| 激情伍月 欧美| 五月丁香激情啪啪| 五月天色综合| 香蕉久久国产AV一区二区| 免费观看全黄做爰的视频| 免费看成人AA片无码视频吃奶| 国产肥白大熟妇BBBB视频 | A片试看120分钟做受图片| 丰满少妇猛烈A片免费看观看 | 99性色| 9热在线观看| 亚洲最大在线| 色五月综合| 国产精品日本一区二区在线播放| 久久综合九色综合97婷婷| 97伦乱| 午夜日韩久久久网站| www999日韩精品| 99免费综合网| 夜夜www| 久久丁香久久| 超碰9| 99久久婷婷国产综合精品草原| 无码AV免费精品一区二区三区 | 色五月首页| 欧美 日韩 人妻 高清 中文| 玖玖99婷婷| 玖玖婷婷婷丁香五月| 伊人久久艹| 99热精品一区| 久久精彩免费视频| 丁香婷婷啪啪| 丁香五月伊人| 亚洲欧美婷婷五月色综合| 人妻系列久久久久久久久久久| 久久综合天天综合| www.99日本| 噜噜在线| 日本黄色精品| 美女五月天婷婷| 丁香六月婷婷一区二区三区| 99在线69| 色99综合色88| 碰超99| 狠狠操在线视频| 狠狠爱婷婷| 99干日日干| 任你操精品免费| 天天天天天操| 97丁香婷婷| 亚洲无码 图片区| 性视频久久| 久久这里只有国产精品视频| 超碰在线人人| 国产精品国产VA片国产| 丁香五月六月综合激情| 色综合婷婷| 中文字幕亚洲-区久久99婷婷| 欧美五月丁香在线| 丁香五月中文字幕色播| 成人做爰A片免费看视频| 久久五月情| va中文资源在线观看| 久久色9| 五月丁香花成人社区| 91九色视频| 五月婷婷第四色| 欧美交换配乱吟粗大25P| 色五月婷婷1| 婷婷丁香五月,狠狠综合| 久久机热/这里只有精品| 丁香五月婷婷综合激情啪啪啪啪啪啪啪| 那里有AV网址| 超碰日日操| 91在线看片| 激情综合五月.....| 午夜色婷婷| 日韩精品电影| 丁香五月天BBw| 深爱激情五月天| 五月婷婷色情| 五月婷婷深深爱| 9色天堂| 影音先锋激情网| 久久久久久人妻| 婷婷激情九月| 五月天婷婷伊人| 99欧美三级视频| 欧美丁香五月天| 成人做爰A片免费看网站找不到了| 欧美va视频| 99久精品视频| 99热全是精品| 婷婷五月花丁香| 无码碰碰| 欧美综合五月丁香六月婷| 五月丁香影院| 狠狠狠婷婷五月综合| 99热免| 激情综合啪啪| 另类综合激情| 91黄操| 九月丁香婷婷综合| 丁香久久五月婷综合| www.狠狠操| 一起草av在线观看| 天天爽天天操| 亚洲熟女乱色综合亚洲网站| 五月天婷婷丁香基地在线观看| 中文字幕久久婷九女同| 久久99性爱| 91操在线| 影音先锋91资源站| 91porn一起草| 亚洲美女高潮久久久久久69| www.97碰碰com| 99在线免费视频| 伊人www22综合色| 丁香五月首页| 激情综合五月| 99热综合| 天天日天天操心| 亚洲精品va| 精品夜夜澡人妻无码AV| 五月激情偷拍婷婷| 九九爱激情| 久久亚洲激情五码| 99热第一页| 人人操97| 天天人人综合| WWW.久久.COM| 色婷婷五月中文字幕在线dvd| 大香蕉啪啪啪啪啪啪| 色激情五月| 色色丁香| 少妇2做爰HD韩国电影| 六月丁香激情婷婷| 99啪在线| 色色操| 人人天堂操| 色444综合网| 丁香伊人网| 丁香丁香激情网| www.金莲av| 色五月av| 五月天婷基地| 99爱在线| 五月天啪啪视频| 婷五月天在线草| 九九成年视频| 亚洲天堂爱爱| 久婷婷久草| 色五月中文字幕| 久久久久人妻精品| 天天日日爽| 综合另类视频| 亚洲色就是色色色| 日韩综合久| 婷婷成人综合免费视频| 极品五月天| 97色干| 操你av| 99ri国产| 猫咪伊人AV| 婷婷综合在线| 五月六月激情| 久久99网站| 亚洲AV无码电影| 久久久com| 欧美成人精品老美女噜噜噜| 大香蕉久久久久| 五月丁香婷婷伊人| 久久99久久99精品免视看婷| 国际国外精品欧洲南美洲专区无码不卡| 97干在线看| 噼里啪啦完整版中文在线观看| 丁香五月婷婷在线| 色婷婷在线综合色播网| www.五月丁香| co超碰在线观看| 99久久综合网| 天天爱夜夜爽| 日韩一66精品| 亚洲无码成人| 亚洲性爱AV| 五月婷婷六月丁香| 激情婷婷丁香五月天| 成人电影丁香六月天| 2015好吊操| 日本九九视频| 超碰免费人人肏| 色综合五月天| 无码人妻激情| 九九热免费| 色丁香五月婷婷| 热久国产| 欧洲亚洲精品| 色了色综合| 色色影院aaaav| 中文无码婷婷| 99热线观看9| 天天操天天国产三级片处女学生妹| 五月丁香啪啪啪| 丁香六月色婷婷| 任你操精品免费| 成人五月天视频| 五月天玖玖狠狠色色| 亚洲 25P| 思思99热这里只有精品| 五月天伊人综合| 欧美婷婷丁香五月| 色色热日| 日韩不卡123| 色色欧美色色色| 五月天丁香| 天天干天天干天天| 日日夜夜婷婷| 婷婷伊人| 9久热| 91操人| 91日韩在线| 色婷婷色99国产综合精品| 天天干夜晚夜操| 99在线观看视频蜜臀| 五月丁香色停停啪啪啪| 丁香五月先锋| 成人五月天丁香婷| 狠狠88综合久久久久噜噜噜| 国产成人网址| 日韩另类| 亚洲天堂热| 另类专区在线观看| 婷婷亚洲综合| 国产成人av在线| 婷婷伊人綜合中文字幕| 久热九九| 丁香婷婷久久| 天天爽夜夜爽夜夜爽精| 无码网| 高清激情av在线观看| 丁香婷婷五月天色播| 青青五月天婷婷| 9999热这里只有精品| 中文字幕久久一区二区三区| 婷婷激情丁香六月| 激情五月丁香六月综合AVXXXX| 五月天久久综合婷婷丁香| 综合网视频| 色婷婷88| 九九婷婷网五月天| 狠狠色丁香| 懂色av粉嫩av蜜臀av| 国产特黄色精品一区二区三区精品无广告 | 97狠狠色| 99热这里只有99| 婷婷美女精品视频| 丁香五月婷婷成人网| 99热这里只有精品搜| 五月天激情久久| 欧洲亚洲免费视频9| www色婷婷| 大香蕉综合视频在线| 牛牛色av| 97久久久久| 五月天六月天| 丁香六月婷婷激情| 久久久精品AV| 99精品网| 国模狼狼| 亚洲综合视频网| 丁香五月天人体| 天天色综合图片| 天综合日日夜综合7799| 碰人人操| 五月综合视频在线| 婷婷五月天资源| 玖玖午夜视频| 久久久97| 丁J香六月首页| 久久久WWW| www,婷婷五月天777me,com| 五月天色不卡| 色婷婷亚洲婷婷| 国产三级在线播放| 五月大香蕉| 五月深爱网| 五月婷六月| 免费一区二区三区| 亚洲欧美婷婷五月色综合| 人妻操操色| www九九| 久婷狼色诱惑在线| 九九色影院| 国产裸舞表演WWWW| 五月天综合视频| 亚洲黄网在线| 狠狠色丁香五月婷巨| 5月丁香啪啪啪| 啪啪91| 97日在线视频| 米奇影视资源777狠狠色婷婷五月天激情网| 五月天综合| 成人国产欧美大片一区| www.五月婷婷.com| 国产精品成人av在线观看春天| 99久久九九| 99久久偷拍视频| 天天色一道本综合婷婷| 性爱久久| 亚洲六月色| 丁香五月婷婷六月婷婷| 看久久性爱视频| 色9色| 9精品在线| 人妻免费网站| 五月天天天综合| 夜夜操狠狠操| 五月丁香综合精品欧美| 激情综合久久| 色综合99| 久久3级片| 婷婷日| 亭亭五月色男人| 免费看成人747474九号视频在线观看| 日韩av干| 婷婷五月天福利| www99在线观看视频| 激情五月婷婷六月丁香| 免费观看全黄做爰的视频| 久久综合激情| 色色色综合| 日本A片一区| 婷婷基地五月色| 欧美成人精品A片免费一区99| av在线免费播放| 日本狠狠干| 影音先锋综合网| 丁香久久久| 黄色国久久| 夜夜天天久久婷婷| 日日干夜夜干| 97人人射| 午夜一区| 色综合久久99色| www.91婷婷| 91精品又长又大又粗又爽又猛| 伊人五月丁香| 九九婷婷热| 婷婷伊人久久综合| 超碰婷婷色| Jh7Uf088VHafNm| 丰满少妇乱A片无码| 一區四區歐美日韓| 国产精产国品一二三在观看 | 99久热在线精品| 99热超碰在线| 一区二区三区视频| a在线观看| 操91| 五月婷婷色播| 精品婷婷五| 伊人99热| 久久视频这里都是精品| 五月天激情小说网| 美女要搞搞天天搞搞搞网站| 一本色道久久88加勒比| 五月色精品|