免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

OpenCV圖像旋轉(zhuǎn)全攻略:矩陣原理、參數(shù)避坑與自動(dòng)校正實(shí)踐

OpenCV圖像旋轉(zhuǎn)全攻略:矩陣原理、參數(shù)避坑與自動(dòng)校正實(shí)踐 簡(jiǎn)介面向OpenCV初學(xué)者與圖像處理入門者這份C實(shí)現(xiàn)資源圍繞圖像旋轉(zhuǎn)展開清晰演示了仿射變換的基本原理與兩種典型旋轉(zhuǎn)路徑通過cv2.getRotationMatrix2D構(gòu)造旋轉(zhuǎn)矩陣再經(jīng)cv2.warpAffine完成任意角度變形同時(shí)給出cv2.rotate按90度、180度快速旋轉(zhuǎn)的簡(jiǎn)便方法。源碼中特別關(guān)注旋轉(zhuǎn)中心選取、角度正負(fù)約定、縮放因子以及BORDER_CONSTANT等邊緣填充策略幫助讀者解決旋轉(zhuǎn)后出現(xiàn)空白區(qū)域的實(shí)際問題。壓縮包共14個(gè)文件大小1.32MB包含C源文件、可直接運(yùn)行的exe、用于調(diào)試的pdb/ilk/obj符號(hào)文件、工程配置dsp/dsw以及示例圖片Penguins.jpg適合在VC6環(huán)境下邊運(yùn)行邊分析。目前已有406人學(xué)習(xí)下載。對(duì)照源碼與可執(zhí)行程序可直觀理解旋轉(zhuǎn)矩陣參數(shù)對(duì)輸出圖像的影響并能據(jù)此擴(kuò)展到批量圖像旋轉(zhuǎn)、方向校正等預(yù)處理場(chǎng)景為后續(xù)圖像分析與計(jì)算機(jī)視覺任務(wù)打下扎實(shí)基礎(chǔ)。1. OpenCV 圖像旋轉(zhuǎn)能跑通和能用是兩回事OpenCV 圖像旋轉(zhuǎn)十行代碼就能轉(zhuǎn)起來但真正落到項(xiàng)目里十個(gè)有八個(gè)踩坑——轉(zhuǎn)完圖像被裁剪、四個(gè)角出現(xiàn)黑邊、邊緣鋸齒明顯、旋轉(zhuǎn)方向還和預(yù)期相反。我最開始做證件照方向校正時(shí)就被這組“裁剪黑邊”的組合拳打懵過。這篇筆記從一個(gè)可復(fù)現(xiàn)的最小工程出發(fā)把cv2.getRotationMatrix2D和cv2.warpAffine從矩陣原理講到參數(shù)邊界再給出三種旋轉(zhuǎn)方案、五條避坑記錄以及識(shí)別場(chǎng)景下的自動(dòng)校正技巧。適合剛接觸 OpenCV 圖像處理的開發(fā)者也適合正在做物體識(shí)別、方向矯正的老手對(duì)照參數(shù)。目標(biāo)就一個(gè)拿到代碼改兩個(gè)參數(shù)就能用別再讓旋轉(zhuǎn)這個(gè)小功能拖住整個(gè)項(xiàng)目的后腿。2. 旋轉(zhuǎn)矩陣與 API 參數(shù)為什么正角度轉(zhuǎn)出來是反的2.1 圖像坐標(biāo)系里的數(shù)學(xué)旋轉(zhuǎn)矩陣到底在做什么圖像旋轉(zhuǎn)的本質(zhì)不是“轉(zhuǎn)圖片”而是“對(duì)每個(gè)像素做坐標(biāo)映射”。原圖里的像素點(diǎn)(x, y)繞某個(gè)中心點(diǎn)旋轉(zhuǎn) θ 度后新坐標(biāo)(x, y)由二維旋轉(zhuǎn)矩陣決定。數(shù)學(xué)上的標(biāo)準(zhǔn)形式是x x * cos(θ) - y * sin(θ) y x * sin(θ) y * cos(θ)這是笛卡爾坐標(biāo)系里的公式。但 OpenCV 的圖像坐標(biāo)系不是笛卡爾坐標(biāo)系——坐標(biāo)原點(diǎn)在左上角y 軸朝下。y 軸方向翻轉(zhuǎn)導(dǎo)致getRotationMatrix2D返回矩陣?yán)锏牡诙蟹?hào)和教科書不一樣。很多人在這一步開始“暈方向”代碼里寫正角度肉眼看到的效果卻像是順時(shí)針轉(zhuǎn)其實(shí)不是算法錯(cuò)了而是你套錯(cuò)了坐標(biāo)系。寫代碼驗(yàn)證一下把矩陣打出來看import cv2 center (100, 100) angle 45 scale 1.0 M cv2.getRotationMatrix2D(center, angle, scale) print(M)這段代碼用getRotationMatrix2D生成一個(gè) 2×3 的仿射變換矩陣。運(yùn)行后能看到類似這樣的輸出[[ 0.70710678 0.70710678 -41.42135624] [-0.70710678 0.70710678 141.42135624]]第一行是 cos(45°) 和 sin(45°)第二行是 -sin(45°) 和 cos(45°)第二行的符號(hào)和數(shù)學(xué)課本相反根源就是 y 軸朝下。第三列是平移量作用是讓圖像繞指定中心點(diǎn)旋轉(zhuǎn)后畫面不至于整體飛出去。angle單位是度正值是逆時(shí)針方向——這是 OpenCV 官方定義但結(jié)合 y 軸朝下的坐標(biāo)系你視覺上會(huì)覺得自己寫的是順時(shí)針這是最容易踩的認(rèn)知坑。2.2 getRotationMatrix2D 與 warpAffine六個(gè)參數(shù)逐個(gè)說清getRotationMatrix2D只負(fù)責(zé)生成變換矩陣真正執(zhí)行像素映射的是warpAffine。兩個(gè)函數(shù)搭檔使用理解六個(gè)核心參數(shù)旋轉(zhuǎn)這個(gè)功能就算入門了。getRotationMatrix2D(center, angle, scale)三個(gè)參數(shù)參數(shù)含義典型取值center旋轉(zhuǎn)中心坐標(biāo)(x, y)通常是圖像中心(w//2, h//2)(100, 100)angle旋轉(zhuǎn)角度正值表示逆時(shí)針45 / -30scale縮放系數(shù)旋轉(zhuǎn)同時(shí)可以放大縮小圖像1.0 不縮放warpAffine(src, M, dsize, flags, borderMode, borderValue)常用參數(shù)參數(shù)含義典型取值src輸入圖像BGR 或灰度圖從 imread 讀入的 numpy 數(shù)組M2×3 變換矩陣由 getRotationMatrix2D 生成上一步的輸出dsize輸出圖像尺寸(w, h)原圖寬高或者擴(kuò)邊后的新寬高flags插值方式默認(rèn) INTER_LINEARINTER_LINEAR / INTER_CUBICborderMode邊界填充模式默認(rèn) BORDER_CONSTANTBORDER_CONSTANT / BORDER_REPLICATEborderValueborderMode 為 CONSTANT 時(shí)的填充顏色(0,0,0) 黑 / (255,255,255) 白dsize是整個(gè)旋轉(zhuǎn)流程里最容易被忽略的參數(shù)。默認(rèn)思路是“輸出尺寸和原圖一樣大”但圖像旋轉(zhuǎn)后四個(gè)角已經(jīng)超出了原圖邊界輸出尺寸不變就意味著四個(gè)角被硬生生裁掉。這是旋轉(zhuǎn)后內(nèi)容丟失的根本原因。import cv2 img cv2.imread(demo.jpg) h, w img.shape[:2] center (w // 2, h // 2) M cv2.getRotationMatrix2D(center, 30, 1.0) rotated cv2.warpAffine(img, M, (w, h)) cv2.imwrite(rotated_cropped.jpg, rotated)這段代碼是“能用但不好用”的典型版本。旋轉(zhuǎn)中心取圖像中心角度 30 度輸出尺寸直接填原圖寬高。運(yùn)行后你會(huì)發(fā)現(xiàn)四個(gè)角沒了圖像內(nèi)容明顯殘缺。原因就在dsize(w, h)這個(gè)默認(rèn)邏輯上warpAffine不會(huì)幫你自動(dòng)擴(kuò)邊超出原圖范圍的區(qū)域直接丟棄。要么接受裁剪要么手動(dòng)計(jì)算新尺寸。3. 三種旋轉(zhuǎn)實(shí)現(xiàn)90 度快捷旋轉(zhuǎn)、任意角度裁剪版、擴(kuò)邊保全版3.1 cv2.rotate只做 90 度倍數(shù)的零成本方案如果你的需求只是把圖片順時(shí)針轉(zhuǎn) 90 度、轉(zhuǎn) 180 度、轉(zhuǎn) 270 度完全不需要碰矩陣運(yùn)算cv2.rotate一行搞定。這個(gè)函數(shù)是 OpenCV 內(nèi)置的速度快、無插值損失、不產(chǎn)生黑邊是三種方案里最省心的。import cv2 img cv2.imread(demo.jpg) rotated_90 cv2.rotate(img, cv2.ROTATE_90_CLOCKWISE) rotated_180 cv2.rotate(img, cv2.ROTATE_180) rotated_270 cv2.rotate(img, cv2.ROTATE_90_COUNTERCLOCKWISE) cv2.imwrite(rotated_90.jpg, rotated_90) cv2.imwrite(rotated_180.jpg, rotated_180) cv2.imwrite(rotated_270.jpg, rotated_270)cv2.rotate的三個(gè)參數(shù)都是預(yù)定義常量不需要考慮旋轉(zhuǎn)中心、插值方式、邊界填充輸出尺寸會(huì)自動(dòng)交換寬高。90 度旋轉(zhuǎn)后圖像寬高互換如果你后續(xù)處理依賴固定尺寸比如喂給神經(jīng)網(wǎng)絡(luò)前要統(tǒng)一大小這一步就要注意。適合的場(chǎng)景手機(jī)照片方向矯正、掃描件角度修正這類只涉及直角旋轉(zhuǎn)的需求。3.2 任意角度 保持畫幅warpAffine 的標(biāo)準(zhǔn)寫法90 度旋轉(zhuǎn)之外的角度比如 30 度、45 度cv2.rotate就無能為力了必須回到getRotationMatrix2D和warpAffine的組合。上面第 2 章的代碼雖然能跑但裁剪問題嚴(yán)重。這一節(jié)先講“接受裁剪”的標(biāo)準(zhǔn)版本因?yàn)楹芏鄨?chǎng)景下裁剪是可接受的——比如后續(xù)只做物體識(shí)別圖中央的目標(biāo)區(qū)域完整即可。import cv2 import numpy as np img cv2.imread(demo.jpg) h, w img.shape[:2] angle 30 M cv2.getRotationMatrix2D((w // 2, h // 2), angle, 1.0) rotated cv2.warpAffine(img, M, (w, h), flagscv2.INTER_LINEAR, borderModecv2.BORDER_CONSTANT, borderValue(0, 0, 0)) cv2.imwrite(rotated_30_cropped.jpg, rotated)這里的borderValue(0, 0, 0)是 BGR 格式的黑色。旋轉(zhuǎn)后超出原圖范圍的區(qū)域會(huì)用這個(gè)顏色填充如果沒有黑邊需求可以改成(255, 255, 255)白色或者(114, 114, 114)灰色。很多做深度學(xué)習(xí)預(yù)處理的人習(xí)慣用灰色填充因?yàn)榧兒诨蚣儼滋畛涞綀D像里可能會(huì)被模型當(dāng)成極端特征學(xué)進(jìn)去。這個(gè)版本輸出的圖寬高保持不變但四個(gè)角的內(nèi)容確實(shí)丟了。如果旋轉(zhuǎn)角度小比如 10 度以內(nèi)裁剪損耗肉眼幾乎看不出來。如果角度大比如 45 度以上圖像邊緣損失嚴(yán)重這時(shí)候就要用擴(kuò)邊方案。3.3 旋轉(zhuǎn)后不裁圖擴(kuò)邊公式與矩陣修正不裁剪、保持完整圖像內(nèi)容需要兩步先計(jì)算旋轉(zhuǎn)后圖像的新尺寸再修正旋轉(zhuǎn)矩陣的平移量。新尺寸的計(jì)算公式是new_w |w * cosθ| |h * sinθ| new_h |w * sinθ| |h * cosθ|旋轉(zhuǎn)矩陣?yán)锏?cos 和 sin 可以直接從矩陣元素讀取M[0,0]是 cos(θ) * scaleM[0,1]是 sin(θ) * scale。完整代碼import cv2 import numpy as np img cv2.imread(demo.jpg) h, w img.shape[:2] angle 45 scale 1.0 M cv2.getRotationMatrix2D((w // 2, h // 2), angle, scale) cos abs(M[0, 0]) sin abs(M[0, 1]) new_w int(h * sin w * cos) new_h int(h * cos w * sin) M[0, 2] (new_w - w) / 2 M[1, 2] (new_h - h) / 2 rotated cv2.warpAffine(img, M, (new_w, new_h), flagscv2.INTER_LINEAR, borderModecv2.BORDER_CONSTANT, borderValue(255, 255, 255)) cv2.imwrite(rotated_45_full.jpg, rotated)先說為什么要修正矩陣平移量。原矩陣的平移項(xiàng)M[0,2]和M[1,2]是按原圖像尺寸算的擴(kuò)邊之后旋轉(zhuǎn)中心在新畫布中的位置變了不修正的話圖會(huì)整體偏移畫面中心跑到左上。修正方法就是把旋轉(zhuǎn)中心偏移量(new_w - w) / 2和(new_h - h) / 2加回去。new_w和new_h的計(jì)算用的是絕對(duì)值這樣無論是順時(shí)針還是逆時(shí)針角度是正是負(fù)結(jié)果都一樣。這個(gè)公式只適用于旋轉(zhuǎn)角度在 0 到 360 度范圍內(nèi)的常規(guī)場(chǎng)景如果角度超過 360 或?yàn)樨?fù)數(shù)先對(duì) 360 取模再算angle angle % 360這個(gè)擴(kuò)邊版本是實(shí)際項(xiàng)目里最常用的。三種方案對(duì)比如下方案代碼量角度范圍畫面完整性速度cv2.rotate1 行90/180/270完整最快warpAffine 不擴(kuò)邊6 行任意角度四角被裁快warpAffine 擴(kuò)邊10 行任意角度完整保留稍慢4. 避坑記錄旋轉(zhuǎn)里最常見的五個(gè)翻車現(xiàn)場(chǎng)4.1 現(xiàn)象正 30 度轉(zhuǎn)出來像負(fù) 30 度新手第一次寫旋轉(zhuǎn)輸出結(jié)果和預(yù)期方向相反是出現(xiàn)頻率最高的問題。原因就是第 2 節(jié)說的坐標(biāo)系差異OpenCV 的 y 軸朝下正角度在數(shù)學(xué)上逆時(shí)針、在肉眼視覺里會(huì)看成順時(shí)針。解決不要糾結(jié)視覺方向先明確業(yè)務(wù)需求是“順時(shí)針還是逆時(shí)針”。需要順時(shí)針轉(zhuǎn) 30 度就把a(bǔ)ngle寫成-30。可以寫個(gè)小輔助函數(shù)統(tǒng)一表達(dá)def rotate(img, angle, directionclockwise): if direction clockwise: angle -angle return cv2.getRotationMatrix2D((img.shape[1] // 2, img.shape[0] // 2), angle, 1.0)這樣調(diào)用方只需要說“順時(shí)針轉(zhuǎn) 30 度”不用理解底層坐標(biāo)系。4.2 現(xiàn)象旋轉(zhuǎn)后四個(gè)角出現(xiàn)黑邊角度稍大圖像四角出現(xiàn)黑色三角區(qū)域。原因是borderMode默認(rèn)是BORDER_CONSTANTborderValue默認(rèn)是黑色(0,0,0)。黑邊在某些場(chǎng)景下不可接受比如白底文檔掃描件黑邊會(huì)嚴(yán)重影響 OCR 的文本區(qū)域檢測(cè)。解決把borderValue改成(255, 255, 255)白色或者根據(jù)圖像背景色動(dòng)態(tài)取色。更徹底的是用BORDER_REPLICATE它會(huì)復(fù)制邊緣像素向外延伸黑邊變成邊緣內(nèi)容的延伸視覺上自然很多。注意BORDER_REPLICATE對(duì)邊緣紋理復(fù)雜的圖像會(huì)有拉伸感逐張檢查。4.3 現(xiàn)象旋轉(zhuǎn)后圖像內(nèi)容變小四個(gè)角丟失有人反饋“旋轉(zhuǎn)是轉(zhuǎn)了但圖里東西少了”。原因是dsize填了原圖寬高warpAffine不會(huì)自動(dòng)調(diào)整輸出尺寸超界部分被丟棄。這個(gè)設(shè)計(jì)邏輯本身沒毛病但容易讓使用者誤以為輸出尺寸會(huì)自動(dòng)適配。解決用第 3.3 節(jié)的擴(kuò)邊公式先算new_w和new_h再傳給dsize。我一般建議把擴(kuò)邊計(jì)算封裝成函數(shù)免得每次復(fù)制一遍公式def get_rotated_size(w, h, angle): angle angle % 360 cos abs(np.cos(np.radians(angle))) sin abs(np.sin(np.radians(angle))) return int(h * sin w * cos), int(h * cos w * sin)4.4 現(xiàn)象旋轉(zhuǎn)后邊緣鋸齒明顯線條發(fā)虛角度不是 90 的倍數(shù)時(shí)像素位置需要插值計(jì)算插值算法選不好邊緣就會(huì)拉鋸。默認(rèn)INTER_LINEAR是雙線性插值處理普通照片夠用但對(duì)文字、線條圖、二維碼這類高對(duì)比圖像鋸齒會(huì)非常明顯。解決圖像內(nèi)容以線條為主時(shí)改用INTER_CUBIC雙三次插值。放大旋轉(zhuǎn)場(chǎng)景建議搭配INTER_LANCZOS4效果最好但速度最慢。壓縮旋轉(zhuǎn)則優(yōu)先INTER_AREA抗混疊效果好。4.5 現(xiàn)象運(yùn)行時(shí)報(bào) ModuleNotFoundError 或 Ubuntu 下缺失 libGL環(huán)境問題也是高頻坑。pip install opencv-python裝完后import cv2直接報(bào)No module named cv2通常是裝錯(cuò)包名正確命令是opencv-python。Ubuntu 上更常見的是報(bào)libGL.so.1: cannot open shared object file這是 OpenCV 運(yùn)行時(shí)依賴的圖形庫(kù)缺失。解決Ubuntu 執(zhí)行apt install libgl1 -y補(bǔ)上 libGL 依賴。服務(wù)器環(huán)境沒有顯示器盡量安裝opencv-python-headless這個(gè)版本不依賴圖形界面庫(kù)省去一堆麻煩。5. 把旋轉(zhuǎn)質(zhì)量做上去插值模式與背景填充的選型細(xì)節(jié)5.1 四種插值模式怎么選速度與紋理的取舍warpAffine的flags參數(shù)控制插值方式直接影響輸出畫質(zhì)和耗時(shí)。OpenCV 提供四種常用模式參數(shù)特點(diǎn)適用場(chǎng)景INTER_NEAREST最近鄰插值最快有鋸齒像素風(fēng)格圖、速度優(yōu)先INTER_LINEAR雙線性插值默認(rèn)質(zhì)量速度平衡普通照片、視頻幀INTER_CUBIC雙三次插值畫質(zhì)好慢 3-5 倍文字、線條、高對(duì)比圖像INTER_LANCZOS4Lanczos 插值質(zhì)量最高最慢大圖精細(xì)輸出、打印輸出實(shí)測(cè)經(jīng)驗(yàn)普通照片用INTER_LINEAR就夠了肉眼幾乎分辨不出和INTER_CUBIC的差別。處理二維碼、條形碼、截圖、工程圖紙這類硬邊緣圖像直接上INTER_CUBIC不然掃碼識(shí)別可能失敗。圖像是 4000×3000 以上的大圖建議先縮放再旋轉(zhuǎn)否則耗時(shí)成倍增長(zhǎng)。5.2 背景顏色與透明通道borderValue 的十六進(jìn)制陷阱旋轉(zhuǎn)后填充什么顏色看著是小問題實(shí)際處理透明 PNG 時(shí)容易翻車。borderValue只接受 BGR 或灰度值如果你直接傳十六進(jìn)制0xFFFFFFOpenCV 會(huì)把它當(dāng)成一個(gè)整數(shù)然后三通道各自取低位出來的顏色完全不是預(yù)期。# 錯(cuò)誤寫法會(huì)得到奇怪的顏色 borderValue(0xFFFFFF) # 正確寫法BGR 順序 borderValue(255, 255, 255)如果圖像帶透明通道得先拆通道旋轉(zhuǎn)再合并。直接對(duì)四通道圖旋轉(zhuǎn)透明通道會(huì)被borderValue填成純色透明區(qū)域變實(shí)心塊。處理帶 alpha 通道的圖import cv2 import numpy as np img cv2.imread(logo.png, cv2.IMREAD_UNCHANGED) if img.shape[2] 4: bgr img[:, :, :3] alpha img[:, :, 3] h, w bgr.shape[:2] M cv2.getRotationMatrix2D((w // 2, h // 2), 30, 1.0) rot_bgr cv2.warpAffine(bgr, M, (w, h), borderValue(0, 0, 0)) rot_alpha cv2.warpAffine(alpha, M, (w, h), borderValue0) rotated cv2.merge([rot_bgr, rot_alpha]) else: h, w img.shape[:2] M cv2.getRotationMatrix2D((w // 2, h // 2), 30, 1.0) rotated cv2.warpAffine(img, M, (w, h), borderValue(0, 0, 0))RGB 通道和 alpha 通道分開旋轉(zhuǎn)alpha 通道的borderValue填 0旋轉(zhuǎn)后四角保持完全透明輸出 PNG 后不留背景色塊。透明圖像做旋轉(zhuǎn)這是繞不過去的步驟。5.3 大圖旋轉(zhuǎn)的耗時(shí)基準(zhǔn)scale 參數(shù)與預(yù)處理大圖旋轉(zhuǎn)最有效的優(yōu)化手段是降低參與計(jì)算的有效像素量。常見做法是先縮小再旋轉(zhuǎn)旋轉(zhuǎn)完再放大。對(duì) 8000×6000 的大圖直接旋轉(zhuǎn)單次要幾百毫秒先縮到 1600 像素長(zhǎng)邊耗時(shí)降到幾十毫秒畫質(zhì)損失靠后續(xù)放大時(shí)的插值模式彌補(bǔ)。這個(gè)技巧用在批量處理時(shí)收益更明顯。批量旋轉(zhuǎn)上千張圖每張省 0.2 秒總量就省幾分鐘。getRotationMatrix2D里的scale參數(shù)可以直接擔(dān)任縮放角色旋轉(zhuǎn)加縮放一次完成M cv2.getRotationMatrix2D(center, angle, scale0.5)不過要注意scale縮小后再放大信息已經(jīng)丟失了如果最終要保留原始清晰度別在正式流程里用這個(gè)方案只適合預(yù)覽或快速標(biāo)注場(chǎng)景。6. 進(jìn)階場(chǎng)景識(shí)別前自動(dòng)旋轉(zhuǎn)校正與批量處理6.1 用 minAreaRect 計(jì)算物體傾斜角自動(dòng)校正方向旋轉(zhuǎn)經(jīng)常作為物體識(shí)別、OCR 的預(yù)處理步驟。工作流一般是檢測(cè)到目標(biāo)區(qū)域 → 計(jì)算傾斜角度 → 旋轉(zhuǎn)校正 → 再送識(shí)別。角度怎么自動(dòng)獲取而不是手工指定最常見做法是用minAreaRect拿到目標(biāo)輪廓的最小外接矩形矩形自帶角度信息。import cv2 import numpy as np img cv2.imread(object.jpg) gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) _, thresh cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV cv2.THRESH_OTSU) contours, _ cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) rect cv2.minAreaRect(contours[0]) angle rect[2] if angle -45: angle 90 h, w img.shape[:2] M cv2.getRotationMatrix2D((w // 2, h // 2), angle, 1.0) corrected cv2.warpAffine(img, M, (w, h), borderValue(255, 255, 255)) cv2.imwrite(corrected.jpg, corrected)minAreaRect返回的角度范圍是 -90 到 0負(fù)數(shù)表示順時(shí)針傾斜。判斷條件angle -45是為了校正矩形“躺平”的方向把長(zhǎng)邊轉(zhuǎn)成水平。這個(gè)校正邏輯在文檔掃描、車牌識(shí)別、工業(yè)零件定位場(chǎng)景里很常用。注意contours[0]取的是最大輪廓如果畫面里有多個(gè)目標(biāo)需要按面積排序再取第一個(gè)contours sorted(contours, keycv2.contourArea, reverseTrue) rect cv2.minAreaRect(contours[0])6.2 批量處理時(shí)統(tǒng)一擴(kuò)邊與保存避免尺寸不一致最后一個(gè)實(shí)操技巧。批量旋轉(zhuǎn)一批圖片時(shí)最簡(jiǎn)單的方式是用cv2.imwrite挨個(gè)保存但輸出文件名要注意編碼問題尤其是中文路徑。穩(wěn)妥做法是用glob遍歷文件配合os.path.splitext生成輸出路徑import cv2 import glob import os for path in glob.glob(images/*.jpg): img cv2.imread(path) h, w img.shape[:2] M cv2.getRotationMatrix2D((w // 2, h // 2), -15, 1.0) cos, sin abs(M[0, 0]), abs(M[0, 1]) new_w, new_h int(h * sin w * cos), int(h * cos w * sin) M[0, 2] (new_w - w) / 2 M[1, 2] (new_h - h) / 2 rotated cv2.warpAffine(img, M, (new_w, new_h), borderValue(255, 255, 255)) base os.path.splitext(os.path.basename(path))[0] cv2.imwrite(foutput/{base}_rotated.jpg, rotated)這段代碼里的擴(kuò)邊邏輯是從第 3 節(jié)封裝過來的。批量處理時(shí)我習(xí)慣把旋轉(zhuǎn)封裝成一個(gè)通用函數(shù)參數(shù)只留img和angle內(nèi)部統(tǒng)一走“讀圖 → 算尺寸 → 修正矩陣 → warpAffine → 返回結(jié)果”這條固定路徑。從那以后凡是經(jīng)手的圖像旋轉(zhuǎn)任務(wù)我都會(huì)強(qiáng)制走一遍“確認(rèn)角度方向 → 決定是否擴(kuò)邊 → 選插值模式 → 檢查背景填充”這四個(gè)步驟血淚教訓(xùn)換來的流程每次都能少翻一次車。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
婷婷黄色| 丁香大香蕉| 禁片二区| 国外亚洲成AV人片在线观看| 97人人超| 9l视频自拍9l九色9l成人| 九月色婷婷| 九九操屄| 99九色视频在线观看| 五月丁香久久综合| 丁香六月综合激情| 久艹大香蕉| 婷婷激情九月| 婷婷五月综合视频| 九九热九九热精品| 五月激情小说| 久久久中文| 六月丁香婷婷五月| 色婷婷九月| 狠狠做五月| 超91在线视频| 成人在线日韩欧美| 超碰99热精品| 啪啪 综合网| 婷婷丁香六月天| 久久伊人五月天| www,av好吊操| 五月天伊人综合| 五月婷婷伊| 亚洲射激情| 亚洲、热| 五月婷婷中文网| 九九热这里只有精品7| 久久狠婷婷| 七月婷婷色香综合网| 久久草大香蕉| 五月天激情四射| 激情五月天视频| 五月天成人综合| 天天肏天天爽夜夜爽| 99久久66| 天天综合永久| 99热99热在线| 激情久久五月天| 六月婷久久| 第四色五月天| 久婷久婷激情肉| 亚洲天堂啪啪| 人人摸人人搞| 免费看欧美成人A片无码| 激情综合五月| 欧美丰满熟妇BBB久久久| 777精品久无码人妻蜜桃| 欧美性丁香色色五月天干干| α久久| 色色自拍视频网站| se色婷婷视频| 亚洲天堂九九九| 97碰精品| 99热在线看片| 色色99色色| 色欲婷婷夜夜| 久久人妻伊人| 欧洲毛片基地c区| 久草视频一,二三四| 国产成人高清| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 综合一本道| 久久久久久性爱视频| 丁香婷婷五月| 久久婷婷热| 另类少妇人与禽zOZZ0性伦| 97人人超| 婷婷六月综合激情| 夜夜干夜夜操| 色色色色色九九九九九| www九九热| 极品人妻VIDEOSSS人妻| 亚洲中文无码成人| 日韩欧美老妇性视频91久久久| 婷婷大乡焦噜噜| 欧美性猛交99久久久久99按摩| 狠狠狠狠狠狠| 无码激情AAAAA片-区区| av最新在线| 91视频精品99| 五月天婷婷激情小说电影| 三级三久久线久久99久目本WW| 开心五月天激情网| 人妻aV在线| 秋霞免费三级片| 婷婷久久国产视频| 亚洲九区| 丁香五月婷婷欧美成人色图| 狠狠狠狠狠狠草| 丁香六月婷婷综合啪啪| 欧美大肥婆大肥BBBBB| 婷婷五月色播天| 久久9久久| 99精品手机在线视频| AAA久久| 丁香婷婷五月激情四射网| 久久婷婷激情四射五月天| 99热精品在线| 国产性爱一级| 99热免费18| 丁香激情久久| 成人综合视频在线| 青青草婷婷久久| 掩去也综合五月视频| 99免费视频在线观看爱| 国产偷人爽久久久久久老妇APP| 婷婷色五月天色| 凹凸7777操操操| 免费亚洲婷婷| 超级碰碰视频无码| 69色色视频| 26UUU欧美| 色九九一二| 99爱免费在线观看| 99视频只有精品| 9一精品视频观看| 中文字幕丁香五月| 男女啪啪做爰高潮无遮挡| 久久图色4| 五月综合激情综合久| 武则天精品久久| 九九精品丁香花| 婷婷五月天激情四射五月天激情| 99色在线视频| 99色色爰| 性一交一乱一交A片久久四色| 日本婷婷| 天天做夜夜爽| 色,激情五月天| 97人妻碰碰碰久久香蕉| 大香蕉啪啪| 婷婷六月综合基地| 超级碰碰碰97免费| 第四色激情网| 精品国产va久久久久| 亚洲在线操| 伊人久热91网| 丁香 久久| 免费观看日韩成人av| 五月丁香六月婷婷不卡免费无码| 无码人妻精品一区二区蜜桃色欲 | 丁香五月在线观看综合| 丁香五月-激情综合| 国产又黄又爽又激情不遮挡视频在线观看| 香蕉AV777XXX色综合一区| 深爱婷婷基地| WWW.桔色成人.COM| 五月天影院| 色婷婷综合久久| 五月丁香六月婷婷中文版| 日本99热| 美女美女美女三级色天天天天天| 婷婷五月在线| 激情久久久久久| 啪啪六月婷婷| 涩五月婷婷| 五月久久五月激情| 中文字幕无码AV| 99热这里只有国产精品| 97人人看一| 天天操天天插| 99色视频在线| 大香蕉久艹| 激情综合99| 99热网址| 欧美性爱五月天| 99激| 午夜日韩久久久网站| 欧美丁香婷婷五月| 99久久久| 色色六月| 91婷婷| 色丁香五月天射婷婷爱婷婷| 久热A片| 婷婷五月av| 婷婷丁香视频| 97精品人人A片免费看| 九九视频在线免费视频| 色婷婷五月在线| 激情五月天电影| 高清无码.com| 99热在线观看| 欧美影院| 另类激情五月| 97人人射| 五月天社区婷婷| 婷婷欧美| 五月天开心婷婷激情网站| 人妻精品一区二区三区| 欧美日韩aaaa| 婷婷五月综合婷婷| 99亚洲精美视频在线观看| 9久热| 性小说五月天| www99在线观看视频| 天天色宗合| 婷婷开心综合人妻小说网址| 伊人激情| 五月天婷婷情色| 天堂无码人妻精品AV一区| 六月综合在线| 激情二色月| 久久98热re| 无码人妻精品一区二区蜜桃色欲| 在线中文av| 性色99| 99人碰碰碰| 九月婷婷在线视频| 99久久国产宗和精品1上映| 五月色天情| 如何安全看伊人婷婷| 天天综合区| 婷婷亚洲天堂| 婷婷久久久久| 天天日天天爽| 五月激情综合美女久久| 一级二级香港秋霞欧美欧美秋霞| 女人天堂av| 第四色五月婷婷| 日本不卡一区二区三区| 五月激情小说| 综合狠狠干| 丁香久久激情俄| 操碰97| 丁香六月亭亭久久综合| 九九免费在线视频| 桃色激情婷婷伊人网| 九九热99精品| 影院久久久| 五月天综合| 婷婷五六日| av在线不卡播放| 国产日韩精品SUV| 丁香婷婷大香蕉| 久久九九热38| 久久婷婷九月国产精品| co超碰在线观看| 伊人五月天| 狠狠搞狠狠操| 99在线免费视频| 久久99久久99久久99人受| 99色色视频| 色五月丁香五月激情五月激情| 香蕉97碰碰碰超视精品| 色色色色色综合| 丁香五月狠狠在线观看| 日本色99网站| 久久激情婷婷| av最新在线| 色婷婷AV在线观看| 狠狠色大香蕉| 97色色婷婷五月天| 日本欧美成人片AAAA| 99综合视频一体| www久| 香焦网五月天| 91丨九色丨国产打屁股| 婷婷五月天丁香久久| 日日日天天干| 九九亚洲| 99爱爱| www.五月婷婷久久.com| 99热精品中文字幕| 被强行糟蹋的女人A片| 婷婷97狠狠成人网站| 密乳视频| 成人亚洲精品| 一本道综合网| 五月丁香六月婷婷在线| 天天肏视频| 综合五月婷婷| 国产av第一专区| 啪啪视频99| 99碰在线视频| 五月丁香激情综合啪| 提提热五月天婷婷| 亚洲精品99| av性爱在线| 色婷成人狠干| 中文字幕高清av| 四色永久成人网站| 日本久碰| 热996精品在线观看| 99色综合| 99操视频| 亚洲精品大片| 婷婷五月综合视频免费播放| 97色色色视屏| 国产综合丁香五月天| 十区av| 久久作爱| 99久久99热这里只有精品| 亚美欧色影院| 欧美激情综合色综合啪啪五月| 偷拍九九热| 成人网在线视频| 九九激情网| 久久久久人妻精选| 97碰在线视频| 亚洲视频操| 丁香五月色色色色| 99在线热视频| 91久女| 欧美 日韩 成人 在线| 99高级会所久久| 天天色,天天日,天天做| 伊人激情AV一区二区三区| 无码动漫AV| 亚洲 25P| 日本色婷婷| 九热网站| WWW.桔色成人.COM入口| 996er热| 一起草aV| 五月婷婷六月婷| 9|无码久久久久久| 2015超碰| 26uuu精品国产| www.婷婷| 五月天激情综合首页| 久热这里只有精品6| 日本精品人妻无码77777| 九九久久五月天| 国产精品色婷婷AV综合色色| 五月停视频天堂| 五月丁香激情片| 国产激情在线| 99精品国产在热久久婷婷| 开心五月婷婷激情网| www.99视频| 99久久久久久久| Www.婷婷五月| 亚洲av综合在线| 亚洲五月天天| 丁香六月综合激情| 激情婷婷色小说| 色99视频| 婷婷九月| 九九色色| 午夜美女人啪最红院| 91狠狠色丁香婷婷综合久久精品| 色婷网| 久久视频婷婷| 手机旧版看人妻1025| 激情综合五月婷婷六月丁香| 91日综合欧美| 五月天偷拍| 一區四區歐美日韓| 久香草视频在线观看| 婷婷社区五月天| 色色色五月婷婷| 96精品久久久久久久久| 丁香婷婷基地| 噜噜噜久久| 激情综合五月丁香| 极品色丁香| 久婷五月| 狠狠爱综合网| 国产人妻人伦精品一区二区| 欧美英丁香开心快乐六月天网| 69精品人人人人人人人人人| 欧美日韩国产一二区| 91精选国| 欧美色婷婷| 丁香五月黄色| 色色网站在线| 99久久综合网| 99干在线| 中文字幕在线免费观看视频| 色9色| 精品一二三区久久AAA片| 五月天中文网| 97久久五月丁香婷婷| 99九无网码| 六月婷婷av| 亚洲a色| 色欲五月天| 9色免费网| 五月婷婷之六月丁香| 久热久| 欧美99热| 91操在线观看| 综合婷婷| 99精品亚洲| 五月婷在线影院| AVDV久久| 婷婷丁香五月亚洲| 五月色情婷婷| 色狠久| 五月婷丁香花| 福利视频在线播放| 亚洲色色爱| 丁香啪啪| 99热精品在线| 五月丁香六月激情欧美综合| 五月婷婷六月天| 色色99| 青青草网武则天| 丁香五月天成人| 九九一区| 婷婷综合五月天亚洲综合| 色九九综合色| 79色色| 91男人资源站| 99爱在线精品视频免费观看| 五月婷婷国产| 色色激情五月| 久久激情网| 99视频精品| 五月色婷| 色噜噜狠狠色综无码久久合欧美| oumeisesewang| 中文字幕人妻熟女在线| 这里只有九九精品| 超级碰 久久9| 亚洲碰碰碰| 超碰91人人操| 色婷婷狠狠18禁| 日韩一区二区在线播放| 九九九九精品精| 色综合日日| 五月婷婷综合天天操| 黄色笑话深爱激情网丁香五月婷婷啪啪啪啪啪 | 色婷婷激情视频| 日日操天堂| 五月激情网站| 五月天综合激情网| 欧美色婷婷| 精品色色网| 91狼友视频网页更新| 亚洲色99| 久久天天天| 国产真实乱对白精彩| 狠狠狠狠狠草| 天天综合五月| 精品一区二区三区免费毛片爱 | 色综合香蕉| 亚洲美女高潮久久久久久69| 开心四月婷婷在线色播播| 婷婷在线网| 色五月婷婷久久| 欧美激情中文字幕| www.婷婷| 久色视频| 婷婷丁香五月天欧美| 五月婷婷婷色| 99热这里只有精品16| 婷婷五月天综合蜜桃| 日本天堂网站99| 色婷婷9| 婷婷另类开心| 六月综合婷婷开心伊人 | 丁香五月婷婷五月| 国产偷人爽久久久久久老妇APP| 国产色五月婷婷| 99资源在线视频| 超碰99在线观看| 久久久久久丁香五月| 色情五月婷| 嫩草AV久久伊人妇女超级A| 亚洲色无码| 亭亭色色五月天| 日韩黄在免| 九月色婷婷综合| 色99视| 97在线日本| 五月丁香啪啪啪| 五月婷婷无码| 综合狠狠干| 婷婷九月狠狠色| 国产乱人偷精品人妻A片| 天天综合网站| 五月丁香六月停停| 久思思久视频| 婷婷丁香花五月天| 亚洲韩国日产综合AV| 色情五月综合婷婷| 99热资源在线| 99久久久| 色大综合| 欧美大奶熟女噜噜噜噜| 99a级片| 激情涩播| 99无码精品| 激情亭亭五月| 天天舔天天操| 淫荡工a| 99热这里只有精品10| www.久久综合| 五月久久| 色色亚洲99com| 亚洲成人综合在线| 激情av| 久久人妻精品| 婷婷五月天欧美| 久色成人| 开心深爱五月天| 婷婷五月大香蕉| 日韩美一级毛卡片| 色色999三级片| 日日夜夜干| 色五月综合| 另类综合色| 伊人久久丁香婷婷六月五月综合| 白天AV月月| VA婷婷| 99久久99九九九99九他书对| 色综合丁香婷婷| 亚洲精品444久久久久久| 蜜乳av一级av| 草草色情综合网| 欧亚成人A片一区二区| 人人干av| 五月丁香影院| 人妻av在线| 九九人人操| 九九精品综合| 欧美六月| www.日日夜夜.com| 色综合五月| 午夜丁香| 五月婷婷综合网| 天天天天天天操| 99re思思热久久| 99热精品在线| 五月亭亭开心网| 亚洲色五月天| 白人荫道BBWBBB大荫道| 日韩在线观看网址| 人妻在线观看视频| av免费在线网站| 97超级操操| 怡红院院久久| 欧美日韩国产一区二区| 在线视频激情网站| 婷婷99中文字幕| 久热人妻| 亚洲激情99| 婷婷丁香五月久久| 丁香五月中文字幕久色| 久久精品性爱视频,| 国产中文字幕在线视频免费观看| 99久久人人| 99re这里只有| 少妇性BBB搡BBB爽爽爽视頻| 五月四色激情| www.爱婷婷.com| 大香蕉人人人| 91精品久久久久久| 五月激情开心婷婷| 婷婷激情五月天激情| 激情五月天综合网| 99热九九热| 五月色综合| 人五月天婷婷喷水| www、丁香五月天| 欧美操人| 色丁香五月综合网| 日亚二欧美| 五月天色丁香| 三级片AAA久久久AAA久久久AAA| 91操黄| 五月婷久久久| 九九sese| 五月婷婷亚洲| www.五月天婷婷| 久久性爱网| aaa9区免费在线观看| 丁香五月色| 人妻操操色| www.五月天| 婷婷狠狠狠爱| 欧美五月婷婷| 婷婷久久丁香五月| 中文成人在线| 日韩啪图| 欧美五月丁香啪啪响视频| 五月丁香五月激情综合色综合| 激情五月亚洲| 夜夜撸天天操| 9久热视频| 91热爆在线| 天天综合亚洲综合| 亚洲免费99| 97精品人人A片免费看| 91xxxx九色| 99久久丝| 婷婷六月综合| yiqicaoav| 婷婷爱在线观看| 思思热久久久在线| 九九视频在线观看| 久久一操| 伊人天天色| 久久机只有这里精品| 无码激情精品色婷婷久久久久| 婷婷五月天久久| 色婷婷激情| 色色综合五月| 五月婷婷和六月| 激情丁香九九五月综合网| 丰满少妇乱A片无码| 超碰在线国产9| 五月中旬婷婷丁香六| 亚洲九九夜夜| 久久视频婷婷| 丁香婷婷六月在线资源观看| AV九九| 肏屄色播伊人97婷婷| 九九色热视频| 内射干少妇亚洲69XXX| 六月婷婷av| 久草热视频在线观看| 免费无码毛片一区二区A片| 色色色地址| 久久视频这里99| 97操碰| 99久在线精品| 大香蕉久久婷婷| 葵花AV在线| 超碰renrenai| 天天综合精品| 婷婷第六色| 国产99久久久| 超碰国产av| 婷婷丁香人妻天天| 婷久久久| 99综合一区| 丁香五月五月婷婷欧美大香蕉| 色婷婷黄色网络| 久久久大香蕉| 激情四射婷婷| 性生活视频98791| 2022人人操人人看| 极品人妻VideOssS人妻| 丁香六月婷婷社区| 天天狠天天叉| 五月天丁香啪啪啪啪| 亚洲成人乱码av网站| 国产AV一区二区三区日韩| 精品视频这里只有精品| 国产精品色色| 国产裸舞福利资源在线视频| 99色在线视频| 另类图片五月天婷婷| 91精品久久久久久77777| 无码se| 亚洲热视频| 另类激情五月天。| 久久婷婷六月综合综合| 丁香五月色播中文在线播放| 日日做A爰片久久毛片A片英语| 99re在线观看视频| 狠狠CAO日日穞夜夜穞AV| 夜夜操夜夜姧| 欧美日韩婷婷五月天| 婷婷五月天在婷| 日本道久久91| 日本成人噜噜噜| 色婷六月| 久久ab| 国产亚洲色婷婷99精品| 裸体做A爰片毛片A片免费| 97色射| 天天热夜夜操| 婷婷五月娱乐在线| 国产精品视频免费看| 色婷婷成人网| 99操逼| 99re26视频| 99A级片| 99ER热精品视频| 色了色综合| 欧美超级视频97| 久久5 9视频免费观看| 丁香五月大香蕉AV| 99热综合在线| 丁香五月天激情| 五月婷婷无码| 婷婷五月天天aV| 婷婷丁香社区| 亚洲综合五月| 五月丁香激情六月| 日本一级特黄大片AAAAA级| 久9热| 五月丁香啪啪激情| 91窝窝| 97人妻碰碰中文无码久热丝袜| 日操| 在线成人av播放| 91丨九色丨大屁股| 开心五月天激情| 操日视频| 成人无码精品1区2区3区免费看| 99热这里只要精品免费| 中文字幕在线日亚州9| 亚洲日韩乱码一区二区三区四区 | 五月天五月色婷婷综合| 欲色人妻| 99热这里只有精品在线观看| 色五月首页| 大香蕉久久久久| 国产精品美女久久久久AV超清| 欧美婷婷成人| 久1色色| 任你搞在线观看视频| 五月婷婷中文| 色激情五月| 天天爽夜夜爽夜夜爽精品| 色天使久久综合| 欧美日朝成人| 天天情色综合网| 日夜操B| 人人操人人妻| 婷婷五月色天| 26uuu成人网| 婷婷丁香人妻| 五月天激情图片| 中文字幕不卡网站| 色色色色热| 婷婷五月激情六月| 97精品人人A片免费看| 无码人妻电影| 婷婷六月香| 天天插综合网| 天天草天天爽| 五月丁香久久久| www.99在线| 久久天堂色| 粉嫩AV久久一区二区三区| 97婷婷狠狠| 99综合激情久久精品久久| www.粉嫩av.com| 99热精品超碰| 超碰婷婷五月| 天堂无码人妻精品AV一区| 色色五月婷婷久久| av性爱网站| 婷婷丁香人妻天天爽| 五月色综合网| 欧美综合激情五月天| 天天日日人| www.色婷婷.com| 秋霞少妇AV网站| 99热精品无码| 五月丁香成人| 五月天婷婷综合| 99re在线这里只有精品视频首页| 亭亭丁香久久五月| www.zbzhongsen.com| 九九av在线| 色五月色情| 五月婷婷综合在线亚洲视频| WWW.桔色成人.COM| 激情五月天色播| 淫视馆aV二区一区| 婷婷五月天综合网| 亚洲成人av在线| 色五月五月婷婷| 色播五月婷婷五月| 六月丁香影院| 五月天婷婷丁香六月| 一级视频网址| 五月丁香婷婷伊人日韩| 色色色com| 五月婷婷啪啪啪啪| 久久久婷婷五月天| 九九爱激情| 久久艹 五月天| 韩日另类| 蜜臀综合久草| 婷婷九九色| 午夜在线成人网站免费观看| 欧美三级视频| www.1024久久| 婷婷激情四射五月天| 丁香五月天堂网AV| 激情久久丁香| 啪啪操超碰| 97人妻碰碰碰久久香蕉| 久久婷婷五月丁香网| 中文字幕,综合,91| 五月天婷婷免费| 久久东京热婷婷五月| 激情婷婷丁香五月天| 五月婷婷六月天| 超碰99在线观看| 99亚色色色| 色播丁香五月婷婷操:屄| 亚洲五月丁| 色人妻五月| 俺去也五月天婷婷| 久热超碰91| 99色天堂| 精品国产AV色一区二区深夜久久| 精品一二三区久久AAA片| 亚洲久久天堂| 99视频91| www久久99| 九九热这里精品| 高清无码中文字幕aVDV| 天天狠狠干| 99操免费视频| 99激情| 大香蕉久久青青| 激情五月天.色网| 日韩黄色电影| 99免费热在线精品| 丁香五月23111| 第五色婷婷| 亚洲激情综合| 秋霞少妇AV网站| 日hao1区| site:hcxsz888.com| 丁香五月亚洲无码| 婷香五月激情视频| 99国产在线| 日韩性爱AV| 久久色9| 精品婷婷五| 伍月婷丁香花全集| 9久热在线视频精品| 狠狠色色| 成人丁香五月婷| 五月总合激情网| 日撸夜撸日操| 91色五月| 影音 五月 婷婷 久久| 日本97在线视频| 天天爱天天做天天舔| 天天日夜夜曹| 五月激情综合网| 九九久99免费视频| 青青热视频| 丁香五月婷婷激情蜜桃| 天天色综网| 色婷婷精| 久久网站免费亚洲| 天干夜夜操| www.狠狠| 激情图片99| 婷婷五月天少妇| 成人综合视频在线| 大香蕉色婷婷伊人在线| 成人片在线播放| 另类五月激情| 狠狠五月天| 久久色五月天| 色五月婷婷DVD| 大香蕉75线| 五月丁香色色色| 综合色久| 天天爱天天做天天操| 狠狠狠狠狠狠| 9久久久久| 人妻久久久久久久久久| 色五月综合网| 成人电影在线免费试看| 五月婷婷六月婷| 成人看片网站| 99热e| 婷婷综合精品视频97| 强壮公让我夜夜高潮A片视频| 激情文学第四色婷婷丁香五月| 久久人妻系列| 大香蕉九九| 久久久性爱视频| 九九亚洲视频| 色欧美一级| 九九人妻福利| 深夜男女福利刺激影院一区| 99热久久日本| 亚洲激情免费视频| 国产乱妇乱子在线播视频播放网站 | 色碰碰| 久久精品视频在这里有| 日韩成人中文| www.夜夜操.con| 91精品丝袜久久久久久| 色婷婷AV在线| 99爱在线免费视频| 色网站9| 色 五月婷婷基地| 天天做天天爽| 丁香六月婷婷久久综合八月| 97碰碰人人| 99久久玖玖| 日本色五月| 人妻激情网| 自拍盗摄 另类| 色综合色香蕉网| 丁香综合伊人AV| 欧美三级A做爰在线观看| 青青草原中文字幕| 操一区| 亚洲欧美婷婷五月色综合| 欧美激情综合色综合啪啪五月| 五月丁香久久色| 思思久久精品| 欧美啪啪网| 五月天婷婷色综合| 中文字幕av网站| 久久丁香五月婷| 熟妇天天综合| 婷婷五月在线播放| 日本三级片片| a久久| 九九色色色| 五月天婷婷操逼视频| 婷婷九月狠狠色| 99爽视频| 91丨九色丨43老版熟女| 亚洲超碰在线| 五月天色婷婷图片| 内射人妻视频国内| 五月婷婷之六月丁香| 香蕉久久国产AV一区二区| 这里只有精品99www| 久爱综合| 婷婷丁香色无五月| www.97干视频| 久久久激情视频| 99熟女| 婷婷中文字幕| 99视频在线观看视频| 以及AA大片看看| 人人射人人高潮| 激情五月综合第一页| 久久9视频欧美| 亚洲激情亚洲激情| 极品少妇XXXX精品少妇偷拍| 在线A色| 一区操| 婷婷五月天网址| 免费观看欧美成人AA片爱我多深| 狠狠操天天日| 激情五月天情色| 超碰在线观看9| 天天操天天爱天天日| 久久久国产精品黄毛片| 五月天影院| 久久精品综合色| 99热在线只有精品| 久热最新视频| 色婷婷丁香社综合| 一起草性爱不卡视频| 欧美一区二区三区不卡影视| 婷婷久久欧美| 久热人妻| 亚洲人人干| 久久码久久无清| 五月婷在线观看| 亚洲开心激情网| 中文字幕不卡视频| 九九热免费| 青青福利网| 人人性久久| 久草热在线视频| 色久综合天天做视频| 丁香五月AV| 色色色热| 亚洲五月停停| 激情五月天在线观看色婷婷| www...com黄在线观看| 色婷婷伊人| 五月婷婷co.m| www.91在线观看| 三十熟女| 97干在线观看视频| 99热这里只有精品13| 婷婷五月色色| 任你躁XXXXX麻豆精品| 丁香五月AV| 五月在在观看| 性色婷婷| 丁香六月婷婷操逼网| Av大香蕉| 天堂久久久久天堂网| 激情综合国产| 色综合开心五月深爱五月| 97黑人精品区| 精品一二三区久久AAA片| 婷婷久久免费| 五月婷综合性中心| 99九九在线观看免费| 久久色六月| 久久婷婷六月综合| 色色色9| 亚洲欧洲色色| 99在线视频免费| 韩日另类| 婷婷六月啪啪| 激情都市丁香婷婷| 色综合五月婷婷狠狠干| 久久久99婷婷久久久久久| 九九色婷| 久久9视频| 丁香五婷婷| 99久久精品视频女神1| 色婷婷手机在线| 91视频免费后入强操| 天天日天天肏天天奸| 久久99精品久久只有精品| 亚洲色视频| 激情亚洲婷婷六月| 91五月天| 9久国产| 成人在线免费网址| 久久黄色片| 啪啪综合网| 九九色影视| 婷婷五月天成人网| wwwwww.色| 很操日本7| 激情美女五月天| 亚洲综合婷婷五月| 色婷婷成人久久| 九九爱激情| 少妇AB又爽又紧无码网站| 99re这里| 色婷婷综合久久久久| 大婷婷色呦呦噜噜色呦呦噜噜| 狠狠色丁香久久婷婷综合五月| 五月婷婷综合色啪| 九月丁香婷婷综合激情| 色停停香蕉视频| 五月丁香黄色| 欧美婷婷精品激| 中文字幕在线人妻| 97色综合| 激情综合五月丁香六月婷婷| 思思9久久| 香蕉AV777XXX色综合一区| 26uuu国产| 人人爱操| 色噜噜狠狠色综合日日| 另类激情五月| 91操在线视频| 婷婷欧美综合| 婷婷97碰碰| 操逼视频一区| 成人一级片| 伊人久久大香蕉网| 热五月婷婷| 丁香九月综合激情| 99色热视频| 五月天堂婷婷| 91狠狠色| 色五月婷婷久久| 五月开心激情| 色婷婷综合网| 天天日天天插| 久久婷婷大香蕉| AV网在线观看| 丁香五月婷综合| 色综合色综合色综合| 39视频第二区| www超碰| 91色久| WWW,激情五月天,COM| 九九这里只有精品在线视频| 综合激情啪啪| 色亚洲婷婷| 五月丁香激情婷婷综合| 天天操夜夜橾| 九九综合| 久久九九网| 色婷婷综合网站| 9国产在线视频| 玖玖婷婷五月天毛片| 婷婷五月六月| 99在线免费视频| 亚洲性受XXXX五月丁香| 色播五月天天| 亚洲色模骚货| 香蕉婷婷色五月| 尔尔AV一区| 少妇性BBB搡BBB爽爽爽视頻| 久久XX日本综合| 1024亚洲| 狠狠综合| 成人网站免费sxj| 六月婷婷在线| 99ri在线| 超碰v| 91av色色乱视频| 亭亭色网| 天天做天天爰天天爽天天无遮挡| 婷婷香五月| 丁香五月婷婷偷拍| 婷婷激情五月| 日日夜夜亚洲一区| 人人妻人人澡| 亚洲狠狠狠色婷婷综合激情久久久| 丁香六月无码播放| 91婷婷丁香| 国产亚洲精品久久久久久郑州 | 国产真实乱了老女人视频| 日噜噜色| 久久三级视频| 逼逼AV| 五月天色五月| 五月色丁香| av人人操| 影音先锋按摩| 99日这里只有精品| 婷婷伊人久久| 婷婷香草网| 91ncm视频| 色婷婷五月天天天天天天天天天| 丁香五月天AV| 国产成人亚洲综合A∨婷婷| Av狠狠色丁香婷| 91久久综合亚洲鲁鲁五月天| 人人天堂操| 中文字幕,综合,91| 天堂无码人妻精品AV一区| 视频1区2区| 婷婷六月丁香色| 婷婷狠狠18禁久久| 96自拍视频九色在线观看| 伊人久久大香蕉网| 婷婷五月AV| 亚洲人妻av| 91免费试看| 精品一二三区久久AAA片| 五月丁香久久网| 婷婷噜噜| 五月综合激情网| 婷婷之玖玖| 婷婷舔| 色婷婷婷婷| 九月婷婷人人操人人舔人人爱| 色婷婷综合视频| 国产婷婷五月色情综合| 国产精产国品一二三在观看| 成人丁香色| 五月六月激情| 大香蕉啪啪啪| 九艹在线| 国产成人99久久亚洲综合精品| 99操| 99久.| 婷婷五月情| 成人在线观看精品| 丁香 婷婷 激情 综合 五月| 国内外色色色色色成人视频| 婷婷综合性爱网| 五月丁香日本一抹本| 九九精品热播| 九九99九九精品视频| 六月婷婷色五月| 婷婷99狠狠| 色婷婷激情四射视频| 天天色官网| 97高清国语自产拍| 激情四射五月天| 九九热精品99| 日本欧美啪啪| 人妻VideOssS人妻| 第九色区av天堂| 天天射影| 丁香五月综合| 亚洲成人网站在线| 五月天啪啪| 97操在线| 婷婷 亚洲图片 丁香| 久久婷婷色| 99热91| 97久久人人| 日韩 中文 欧美| 色婷五月天| 月色色综合婷婷网| 婷婷五月天成人小说| 色香蕉婷婷| 五月丁香 啪啪啪| 丁香五月婷婷手机| 国产乱人偷精品人妻A片| 青青操avbb| 五月香蕉网| 草逼大片| 五月色情精品| 99热亚洲精品66| 久热re视频在线观看网站| 99成人无码| 操日本99| 亚洲经典小视频| 七七色综合| 婷婷六月情| 六月色 亚洲| 色丁香影院| 91日综合欧美| 色久丁香五| 久久久27操| 亚洲视频操| 在线观看免费狠狠色丁香香综合| 五月丁香六月| 97极品在线| 婷婷精品免费久久| 99热国产| 久久99热这里只频精品6学生| 五月份婷婷| 中文字幕人妻熟女在线| 婷婷久久五月天亚洲欧美国产日韩在线观看 | www.激情| 成人五月天色天堂| 五月天激情小说| 色欲丁香久久| 在线免费视频caop| 99热这里只有精品86| 狠狠草网| 97色片| 深爱婷婷基地| 乱岳熟女50岁| www.夜夜.com| 影音先锋综合网| 五月婷婷久久大香蕉| 亚洲色情久久| 桃色成人网| 在热视频精品| 99视频91| 亚洲午夜AV| 五月丁香综合久久| 国产亚洲99久久精品熟| 久久久久久久人妻| 99热精品在线播放| 少妇高潮呻吟A片免费看软件 | 久久久精品人妻| 91色婷婷综合久久中文字幕二区| 激情深爱五月天| 天天橾日日橾夜夜橾17| 亚洲免费电影2| 久久98| 婷婷综合日本| 五月天桃色深爱网| 五月天激情图片| 婷婷在线视频| 五月天五月天激情网| 久久综合丁香| 亚洲综合另类| Www.激情| 91九色首页| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 97视频久久| 婷婷久久国产视频| 色护士综合| 激情综合亚洲| 天天天摸夜夜夜玩| 国产精品操| 免费观看全黄做爰的视频| 婷婷五月丁香手机在线视频| aa久久| 婷婷丁香九色| 丁香五月日韩| 甈吧vv| 8区视频在线| 伊人婷婷福利网| 亚洲色啪| 综合一本道| www.激情在线|