色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

OpenCV物體計(jì)數(shù)實(shí)戰(zhàn):預(yù)處理、輪廓篩選與軌跡欄調(diào)參

OpenCV物體計(jì)數(shù)實(shí)戰(zhàn):預(yù)處理、輪廓篩選與軌跡欄調(diào)參 簡(jiǎn)介這份文檔面向計(jì)算機(jī)視覺(jué)入門(mén)者與本科課程設(shè)計(jì)學(xué)生主題為基于OpenCV的物體計(jì)數(shù)與表單信息系統(tǒng)解決圖像中目標(biāo)自動(dòng)框選、計(jì)數(shù)及檢測(cè)信息表格化記錄的問(wèn)題可服務(wù)于零售、安防、交通監(jiān)控等場(chǎng)景的入門(mén)實(shí)踐也可作為軟件技術(shù)項(xiàng)目設(shè)計(jì)的報(bào)告范例。壓縮包約19.51MB內(nèi)含1個(gè)docx正文覆蓋任務(wù)書(shū)、摘要、需求分析、系統(tǒng)功能模塊圖、實(shí)現(xiàn)過(guò)程、學(xué)生日志與綜合評(píng)價(jià)表完整呈現(xiàn)從圖像預(yù)處理、邊緣檢測(cè)、目標(biāo)檢測(cè)到軌跡欄參數(shù)調(diào)節(jié)、圖片與視頻雙模式及控制臺(tái)交互檢測(cè)的推進(jìn)脈絡(luò)并附答辯評(píng)分維度方便對(duì)照梳理報(bào)告結(jié)構(gòu)與復(fù)現(xiàn)思路。目前已有215人學(xué)習(xí)適合需要理解輪廓檢測(cè)、Canny、Haar級(jí)聯(lián)等基礎(chǔ)方法并參考課程設(shè)計(jì)寫(xiě)作與項(xiàng)目排期的讀者。1. 從一張數(shù)不準(zhǔn)的零件圖說(shuō)起OpenCV 物體計(jì)數(shù)為什么先調(diào)預(yù)處理產(chǎn)線上要數(shù)一批散放的零件攝像頭架好、畫(huà)面也清楚但腳本一跑兩個(gè)挨著的零件被數(shù)成一個(gè)換個(gè)工位光照一變閾值就全廢。這類(lèi)問(wèn)題往往不是換個(gè)模型能解決的先把 OpenCV 的預(yù)處理鏈路和計(jì)數(shù)判定規(guī)則理清楚比直接上深度學(xué)習(xí)見(jiàn)效更快。這份課程設(shè)計(jì)做的就是這件事基于 OpenCV 的物體計(jì)數(shù)與表單信息系統(tǒng)用軌跡欄實(shí)時(shí)調(diào)參用輪廓加外接矩形把物體框出來(lái)計(jì)數(shù)按s鍵把時(shí)間、文件名、數(shù)量寫(xiě)進(jìn) Excel。全部邏輯收在一個(gè)tally.py里分實(shí)時(shí)檢測(cè)、圖片檢測(cè)、控制臺(tái)交互三種模式。適合剛接觸 OpenCV、需要一套能跑通又能改參數(shù)的計(jì)數(shù)基線的人也適合拿它當(dāng)課程設(shè)計(jì)或小工具原型的從業(yè)者。2. 環(huán)境與模塊骨架tally.py 該拆成哪幾層、軌跡欄怎么掛2.1 依賴(lài)與版本把 opencv-python 釘在 4.x這套代碼對(duì) OpenCV 版本敏感最典型的是cv2.findContours的返回值個(gè)數(shù)。3.x 返回三個(gè)值image、contours、hierarchy4.x 只返回兩個(gè)contours、hierarchy。如果你從舊環(huán)境拷代碼過(guò)來(lái)第一處報(bào)錯(cuò)大概率在這里。所以先把版本釘死虛擬環(huán)境里裝python -m venv venv # Windows venv\Scripts\activate # Linux / macOS source venv/bin/activate pip install opencv-python4.9.0.80 pip install pandas2.1.4 openpyxl3.1.2 numpy1.26.2opencv-python選主包就夠了這個(gè)項(xiàng)目只用到imgproc、highgui、videoio三個(gè)模塊。opencv-contrib-python里的 SIFT 那套在方案對(duì)比階段試過(guò)最終沒(méi)走特征匹配路線裝上只是增加體積。openpyxl必須顯式安裝pandas.to_excel寫(xiě).xlsx時(shí)靠它做引擎不裝會(huì)在運(yùn)行時(shí)報(bào)ImportError: Missing optional dependency openpyxl。numpy和 OpenCV 有 ABI 依賴(lài)關(guān)系1.26 與 4.9 搭配比較穩(wěn)別隨手升到 2.x。提示如果機(jī)器上已經(jīng)有別的項(xiàng)目在用 OpenCV 3.x不要?jiǎng)尤汁h(huán)境給這套代碼單獨(dú)建 venv否則改一個(gè)版本會(huì)連帶把老項(xiàng)目搞崩。2.2 模塊劃分六個(gè)職責(zé)一個(gè)文件課程設(shè)計(jì)規(guī)模不大全部塞進(jìn)tally.py是合理的拆成包反而多出一堆 import 路徑問(wèn)題。但函數(shù)邊界要清楚后面想把檢測(cè)層換成模型只改一處就行。模塊關(guān)鍵函數(shù) / 入口輸入 → 輸出職責(zé)采集data_collection.py主循環(huán)、cv2.VideoCapture攝像頭幀 → 圖片文件拍照并落盤(pán)按s保存預(yù)處理preProcessing(img)BGR 圖 → 單通道邊緣圖灰度、模糊、Canny、膨脹、閉運(yùn)算檢測(cè)計(jì)數(shù)findContours(img, imgPre, ...)原圖 邊緣圖 → 畫(huà)框圖、輪廓列表、數(shù)量篩輪廓、畫(huà)框、計(jì)數(shù)表單寫(xiě)入readPath、excelmation、ImagePath數(shù)據(jù)字典 → Excel 行路徑解析、追加寫(xiě)入交互軌跡欄回調(diào)、cv2.waitKey鼠標(biāo)/鍵盤(pán) → 參數(shù)值實(shí)時(shí)調(diào)參、保存觸發(fā)調(diào)度控制臺(tái)main()菜單輸入 → 模式分支實(shí)時(shí) / 多圖 / 單圖切換readPath(folder_path)負(fù)責(zé)把文件夾里的圖片路徑讀成列表只保留.jpg、.png后綴避免把臨時(shí)文件混進(jìn)去。ImagePath(recongnitionMode)根據(jù)模式字符串長(zhǎng)度決定保存目錄實(shí)時(shí)模式和多圖模式寫(xiě)到不同文件夾防止圖片和表格互相覆蓋。excelmation(excel_path, data)是寫(xiě)入入口輸入是一個(gè)字段有序的字典。這幾個(gè)函數(shù)看著瑣碎但它們是「檢測(cè)結(jié)果能不能變成可查數(shù)據(jù)」的關(guān)鍵比檢測(cè)本身更容易翻車(chē)。常見(jiàn)的目錄結(jié)構(gòu)是這樣project/ tally.py # 核心模塊 data_collection.py # 拍照腳本 images/ # 采集圖 output/ realtime/ # 實(shí)時(shí)模式截圖 multi/ # 多圖模式結(jié)果 records.xlsx # 表單2.3 軌跡欄綁定先建窗口再掛滑塊軌跡欄是這套系統(tǒng)能做參數(shù)實(shí)時(shí)修正的核心。它掛在窗口上窗口名必須和createTrackbar的目標(biāo)完全一致包括大小寫(xiě)和空格。順序錯(cuò)了會(huì)直接拋cv2.error: ... window not found。import cv2 import numpy as np WINDOW counter def nothing(x): pass # 必須先建窗口再創(chuàng)建軌跡欄 cv2.namedWindow(WINDOW, cv2.WINDOW_NORMAL) cv2.resizeWindow(WINDOW, 960, 540) cv2.createTrackbar(Threshold1, WINDOW, 30, 255, nothing) cv2.createTrackbar(Threshold2, WINDOW, 80, 255, nothing) cv2.createTrackbar(MinArea, WINDOW, 1000, 20000, nothing) cv2.createTrackbar(BoxScale, WINDOW, 50, 100, nothing) # 實(shí)際值 讀數(shù) / 100邏輯上createTrackbar的第四個(gè)參數(shù)是滑塊最大值第五個(gè)是回調(diào)函數(shù)。回調(diào)體可以是空的因?yàn)樽x取靠getTrackbarPos輪詢(xún)回調(diào)只在需要「拖動(dòng)即觸發(fā)」的場(chǎng)景下才寫(xiě)邏輯。BoxScale之所以用 0 到 100 的整數(shù)是因?yàn)檐壽E欄只接受整數(shù)實(shí)際使用時(shí)除以 100 得到 0.0 到 1.0 的比例。參數(shù)上限不是隨便給的。Threshold1、Threshold2的上限 255 對(duì)應(yīng) Canny 的 8 位輸入范圍MinArea上限 20000 是按 640×480 畫(huà)面里最大物體約占 16000 像素估的如果換成 1280×720上限要同步放大到 60000 左右否則滑塊一拉就頂?shù)筋^調(diào)不出有效區(qū)間。主循環(huán)的骨架大致是while True: ok, frame cap.read() if not ok: break imgPre preProcessing(frame) imgBox, conFound, total findContours(frame, imgPre, minAreacv2.getTrackbarPos(MinArea, WINDOW)) cv2.putText(imgBox, fcount{total}, (20, 40), cv2.FONT_HERSHEY_SIMPLEX, 1.0, (0, 0, 255), 2) cv2.imshow(WINDOW, imgBox) key cv2.waitKey(1) 0xFF if key ord(s): # 保存截圖并寫(xiě)一行表單 pass elif key ord(q): break每幀都重新讀一遍軌跡欄這是參數(shù)能「實(shí)時(shí)生效」的原因也是后面跨圖調(diào)參殘留問(wèn)題的根源第 5 章會(huì)細(xì)說(shuō)。waitKey(1)里的 1 是毫秒給 0 會(huì)阻塞到按鍵視頻流就卡住了 0xFF是為了消掉某些平臺(tái)上返回值的高位不寫(xiě)這一句在部分環(huán)境里按s沒(méi)反應(yīng)。3. 預(yù)處理鏈路高斯模糊、Canny 雙閾值與形態(tài)學(xué)閉運(yùn)算的先后順序3.1 preProcessing 的固定順序預(yù)處理函數(shù)看著只有幾行但順序換了結(jié)果差很多這條鏈路基本是玄學(xué)重災(zāi)區(qū)。項(xiàng)目里的實(shí)現(xiàn)是灰度化 → 高斯模糊 → Canny → 膨脹 → 閉運(yùn)算每一步都為下一步服務(wù)。def preProcessing(img): imgGray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 核 5x5sigmaX 顯式給 3模糊強(qiáng)度不隨核大小漂移 imgBlur cv2.GaussianBlur(imgGray, (5, 5), 3) t1 cv2.getTrackbarPos(Threshold1, WINDOW) t2 cv2.getTrackbarPos(Threshold2, WINDOW) imgCanny cv2.Canny(imgBlur, t1, t2) kernel np.ones((3, 3), np.uint8) # 先膨脹接斷口再閉運(yùn)算填內(nèi)部小洞 imgDil cv2.dilate(imgCanny, kernel, iterations1) imgClose cv2.morphologyEx(imgDil, cv2.MORPH_CLOSE, kernel, iterations1) return imgClose灰度化丟掉顏色是因?yàn)橛?jì)數(shù)場(chǎng)景里判據(jù)通常是形狀和面積不是顏色。高斯模糊的sigmaX給 0 時(shí) OpenCV 會(huì)按核大小自動(dòng)推算這里顯式寫(xiě) 3 是為了讓模糊強(qiáng)度固定下來(lái)?yè)Q核大小的時(shí)候不至于一起漂。Canny 的雙閾值分工是低閾值決定邊緣的延續(xù)高閾值決定邊緣的起點(diǎn)兩者比值落在 1:2 到 1:3 之間比較穩(wěn)。膨脹一次把 Canny 斷開(kāi)的邊緣接上閉運(yùn)算填掉物體內(nèi)部的小空洞避免一個(gè)物體被拆成兩個(gè)輪廓。參數(shù)上(5, 5)和sigmaX3是一組匹配值核半徑約 2sigma 取 1.5 到 3 都合理。kernel用 3×3 是起點(diǎn)如果物體邊緣在 640 寬度下斷口超過(guò) 6 像素可以換 5×5但迭代次數(shù)保持 1。迭代次數(shù)加到 2 以上相鄰物體之間的窄縫會(huì)被填平兩個(gè)物體粘成一個(gè)計(jì)數(shù)直接少一半。3.2 雙閾值怎么調(diào)先定高閾值再放低閾值調(diào)參順序很關(guān)鍵反過(guò)來(lái)調(diào)會(huì)一直在噪聲里打轉(zhuǎn)。我的習(xí)慣是先用 Single-image 模式加載一張有代表性的圖按下面的步驟走把Threshold2拉到 150 以上觀察邊緣是否只剩物體外輪廓背景紋理應(yīng)該基本消失。逐步降Threshold2直到物體輪廓連續(xù)但背景還沒(méi)起大片噪點(diǎn)記下這個(gè)值。把Threshold1從 30 開(kāi)始往上加觀察輪廓是否閉合成環(huán)閉合即可停。切換到 Multi-image 跑 20 到 30 張看計(jì)數(shù)波動(dòng)波動(dòng)大的圖回單圖模式復(fù)查。不同場(chǎng)景的起點(diǎn)值差別不小可以拿這張表做參考再按實(shí)際畫(huà)面微調(diào)場(chǎng)景Threshold1Threshold2說(shuō)明室內(nèi)白底小零件2570對(duì)比度高閾值可以壓低逆光傳送帶45120背景亮高閾值要抬高抑制反光低對(duì)比度泡沫件1550邊緣弱雙閾值都要降深色臺(tái)面金屬件3590反光點(diǎn)多配合面積過(guò)濾只調(diào)一個(gè)閾值的后果很明確Threshold2過(guò)高邊緣斷裂輪廓面積偏小會(huì)被minArea整片篩掉Threshold1過(guò)低背景噪點(diǎn)連成片閉運(yùn)算之后糊成一個(gè)大塊計(jì)數(shù)虛高。3.3 形態(tài)學(xué)核尺寸與物體間隙的關(guān)系膨脹和閉運(yùn)算都用同一個(gè) 3×3 核看起來(lái)省事但這里有個(gè)硬約束核的直徑必須小于相鄰物體的最小間隙。3×3 核膨脹一次物體邊緣向外擴(kuò)約 1 像素兩個(gè)物體間距小于 2 像素時(shí)就會(huì)粘上。如果現(xiàn)場(chǎng)零件挨得很近要么把核降到 2×2要么在預(yù)處理前先做一次腐蝕把間隙拉開(kāi)代價(jià)是弱邊緣會(huì)丟。閉運(yùn)算的作用和膨脹不同它先膨脹后腐蝕填的是輪廓內(nèi)部的小孔對(duì)外輪廓的擴(kuò)張比純膨脹小。順序不能反先閉運(yùn)算再膨脹孔是填了但后續(xù)膨脹仍會(huì)把物體撐大先膨脹再閉運(yùn)算斷口接上之后閉運(yùn)算只處理內(nèi)部外形更接近真實(shí)邊界。注意形態(tài)學(xué)操作對(duì)二值圖有效Canny輸出是單通道 8 位圖值只有 0 和 255可以直接進(jìn)dilate。如果中間插了一步歸一化或者浮點(diǎn)轉(zhuǎn)換形態(tài)學(xué)函數(shù)會(huì)報(bào)類(lèi)型錯(cuò)誤。3.4 拍照腳本與 ROI 遮罩圖像檢測(cè)模式的素材不是隨手拍的采集階段就要把背景干擾壓下去。data_collection.py里用了三個(gè)輔助函數(shù)Bbox_img在畫(huà)面中央畫(huà)紅框maskBbox對(duì)框外做高斯模糊Adjusted_image調(diào)亮度。def Bbox_img(img, bbox_scale0.5, bbox_color(0, 0, 255)): h, w img.shape[:2] bw, bh int(w * bbox_scale), int(h * bbox_scale) x1, y1 (w - bw) // 2, (h - bh) // 2 cv2.rectangle(img, (x1, y1), (x1 bw, y1 bh), bbox_color, 2) return img, (x1, y1, bw, bh) def maskBbox(img, position): x, y, w, h position mask np.zeros(img.shape[:2], np.uint8) mask[y:y h, x:x w] 255 # 大核模糊目的是讓框外失去高頻信息不是去噪 blur cv2.GaussianBlur(img, (21, 21), 0) return np.where(mask[..., None] 255, img, blur) def Adjusted_image(img, brightness_factor1.5): # 查表比逐像素乘法快uint8 溢出由 min 截?cái)?table np.array([min(255, int(i * brightness_factor)) for i in range(256)], np.uint8) return cv2.LUT(img, table)Bbox_img返回的元組必須原樣傳給maskBbox否則掩膜和紅框錯(cuò)位框外該糊的地方?jīng)]糊。bbox_scale取 0.5 表示框占畫(huà)面一半小零件調(diào)到 0.2 到 0.3讓物體盡量填滿(mǎn)框。GaussianBlur的 21×21 是刻意給的大核作用是讓框外的紋理徹底消失不是常規(guī)去噪核小了背景邊緣還會(huì)殘留。Adjusted_image用cv2.LUT而不是img * 1.5差別在視頻流里很明顯后者每幀都要產(chǎn)生一個(gè)浮點(diǎn)臨時(shí)數(shù)組再轉(zhuǎn)回uint8兩次內(nèi)存拷貝幀率會(huì)掉。brightness_factor1.5是經(jīng)驗(yàn)值畫(huà)面偏暗時(shí)給 1.8過(guò)曝時(shí)降到 0.8靠第二個(gè)軌跡欄實(shí)時(shí)調(diào)。4. 從輪廓到計(jì)數(shù)findContours 封裝與最大邊界框的三個(gè)參數(shù)4.1 封裝函數(shù)的簽名與參數(shù)含義原生的cv2.findContours只負(fù)責(zé)找輪廓篩面積、篩形狀、畫(huà)框、排序都得自己補(bǔ)。tally.py里把它封成一個(gè)函數(shù)簽名帶了六個(gè)參數(shù)每個(gè)都對(duì)應(yīng)一類(lèi)現(xiàn)場(chǎng)問(wèn)題。def findContours(img, imgPre, minArea1000, sortTrue, filter0, c(255, 0, 0)): conFound [] imgContours img.copy() # OpenCV 4.x 返回兩個(gè)值 contours, _ cv2.findContours(imgPre, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE) for cnt in contours: area cv2.contourArea(cnt) if area minArea: # 粗篩噪點(diǎn) continue peri cv2.arcLength(cnt, True) approx cv2.approxPolyDP(cnt, 0.02 * peri, True) # 多邊形近似 if filter 0 and len(approx) ! filter: # 按邊數(shù)篩形狀 continue x, y, w, h cv2.boundingRect(approx) cx, cy x w // 2, y h // 2 if 3000 area 16000: # 有效面積區(qū)間才畫(huà)框 cv2.rectangle(imgContours, (x, y), (x w, y h), c, 2) cv2.circle(imgContours, (cx, cy), 5, (0, 255, 0), -1) conFound.append({cnt: cnt, area: area, bbox: (x, y, w, h), center: (cx, cy)}) if sort: conFound sorted(conFound, keylambda x: x[area], reverseTrue) return imgContours, conFound, len(conFound)邏輯上有幾處取舍值得說(shuō)。RETR_EXTERNAL只取最外層輪廓大物體內(nèi)部的小孔不會(huì)被當(dāng)成獨(dú)立物體這是輪廓計(jì)數(shù)不虛高的前提。CHAIN_APPROX_NONE存下輪廓上的所有點(diǎn)內(nèi)存占用大但approxPolyDP的精度依賴(lài)點(diǎn)的密度用CHAIN_APPROX_SIMPLE會(huì)丟掉直線段上的中間點(diǎn)近似結(jié)果偏向多邊形頂點(diǎn)。0.02 * peri是近似精度值越小越貼合原始輪廓越大越接近規(guī)則多邊形。filter參數(shù)按邊數(shù)篩形狀filter4只留四邊形適合方形容器圓形物體邊數(shù)在近似后不穩(wěn)定別用這個(gè)參數(shù)會(huì)漏計(jì)。boundingRect傳入的是近似后的approx而不是原始cnt目的是讓毛刺不把外接框撐大。4.2 為什么從輪廓計(jì)數(shù)改成 boundingRect 計(jì)數(shù)初版是用len(conFound)直接當(dāng)數(shù)量也就是數(shù)輪廓個(gè)數(shù)。實(shí)測(cè)下來(lái)無(wú)論怎么調(diào)軌跡欄誤差都?jí)翰蛔∫粋€(gè)物體的邊緣被 Canny 斷成兩段就數(shù)成兩個(gè)兩個(gè)物體在二值圖上粘連就數(shù)成一個(gè)背景反光形成的小閉合環(huán)面積過(guò)了minArea又被算進(jìn)去。這些誤差不是調(diào)參能消掉的因?yàn)榕袚?jù)本身就不穩(wěn)。改成以boundingRect為單位計(jì)數(shù)后情況好轉(zhuǎn)每個(gè)輪廓只產(chǎn)生一個(gè)外接矩形計(jì)數(shù)以矩形為單位至少不會(huì)因?yàn)檩喞扑槎粋€(gè)物體出兩個(gè)框。邊界也很清楚——兩個(gè)物體粘連時(shí)外接矩形會(huì)把它們框成一個(gè)大矩形仍然計(jì)成 1 個(gè)。所以這個(gè)方案的準(zhǔn)確率上限由預(yù)處理決定核尺寸和閾值調(diào)不好后面怎么改計(jì)數(shù)邏輯都救不回來(lái)。改進(jìn)后的寫(xiě)法會(huì)把面積判據(jù)換成外接矩形面積再加一道長(zhǎng)寬比過(guò)濾valid [] for cnt in contours: area cv2.contourArea(cnt) if area minArea: continue x, y, w, h cv2.boundingRect(cnt) rect_area w * h # 用外接矩形面積做二次篩選對(duì)邊緣毛刺不敏感 if not (3000 rect_area 16000): continue # 長(zhǎng)寬比過(guò)濾排除條狀反光和細(xì)長(zhǎng)噪聲 aspect w / float(h) if aspect 0.3 or aspect 3.0: continue valid.append({bbox: (x, y, w, h), area: rect_area}) total len(valid)contourArea對(duì)斷口敏感rect_area對(duì)外形毛刺不敏感兩個(gè)都用一遍相當(dāng)于雙重過(guò)濾。長(zhǎng)寬比這一道是針對(duì)傳送帶上的條狀反光加的正常零件長(zhǎng)寬比落在 0.5 到 2.0 之間設(shè) 0.3 和 3.0 是留了余量。4.3 面積閾值區(qū)間的標(biāo)定方法3000 到 16000 這個(gè)區(qū)間不是拍腦袋定的是從數(shù)據(jù)里打出來(lái)的。步驟可以照抄用 Single-image 模式加載一張典型圖把MinArea軌跡欄拉到 0讓所有輪廓都進(jìn)列表。在循環(huán)里臨時(shí)打印每個(gè)輪廓的contourArea和w*h觀察目標(biāo)物體的面積分布。取目標(biāo)物體面積的 10 分位做下限、90 分位做上限上下限比值控制在 3 到 5 倍。用 Multi-image 跑 20 到 30 張人工核對(duì)計(jì)數(shù)誤差超過(guò) 2 的圖單獨(dú)拎出來(lái)復(fù)查。把區(qū)間寫(xiě)進(jìn)代碼或者配置文件軌跡欄上限同步調(diào)整。臨時(shí)打印的代碼片段# 標(biāo)定階段打開(kāi)跑完刪掉 for i, cnt in enumerate(contours): a cv2.contourArea(cnt) x, y, w, h cv2.boundingRect(cnt) print(f#{i} contour{a:.0f} rect{w*h} fbbox({x},{y},{w},{h}) aspect{w/h:.2f})區(qū)間太窄是常見(jiàn)誤用同一批零件因?yàn)榫嚯x鏡頭遠(yuǎn)近不同面積能差一倍閾值卡在 5000 到 6000 之間就會(huì)漏掉遠(yuǎn)處的小件。反過(guò)來(lái)區(qū)間太寬噪聲也放進(jìn)來(lái)計(jì)數(shù)虛高。如果物體尺度變化確實(shí)很大面積閾值就不是好判據(jù)得換輪廓周長(zhǎng)或者干脆上檢測(cè)模型。4.4 三種模式的調(diào)度控制臺(tái)入口把三種模式串起來(lái)實(shí)時(shí)模式走攝像頭多圖模式走文件夾批量單圖模式是多圖模式的子集用來(lái)先調(diào)參再批量跑。def main(): print(1) Real-time 2) Multi-image 3) Single-image) mode input(select: ).strip() if mode 1: cap cv2.VideoCapture(0) cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640) cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480) run_realtime(cap) elif mode in (2, 3): folder input(image folder: ).strip() paths readPath(folder) if mode 3: paths paths[:1] # 單圖只取第一張 run_batch(paths)Single-image存在的意義是省時(shí)間批量跑 30 張要幾分鐘單圖調(diào)參只要幾十秒調(diào)好之后再批量驗(yàn)證避免跑完一批才發(fā)現(xiàn)閾值全錯(cuò)。readPath返回的路徑列表要按文件名排序否則多圖模式的表單順序和人工核對(duì)順序?qū)Σ簧吓挪闀r(shí)很痛苦。5. 避坑與排查五個(gè)把計(jì)數(shù)結(jié)果帶偏的細(xì)節(jié)5.1 API 版本差異findContours 的返回值個(gè)數(shù)現(xiàn)象代碼在別人的機(jī)器上跑得好好的換一臺(tái)就報(bào)ValueError: too many values to unpack (expected 2)指向contours, hierarchy cv2.findContours(...)這一行。原因OpenCV 3.x 的findContours返回三個(gè)值第一個(gè)是處理后的圖像后兩個(gè)才是輪廓和層級(jí)4.x 把圖像那個(gè)返回值去掉了只剩兩個(gè)。版本不同解包個(gè)數(shù)就不同。解決不想釘版本就寫(xiě)兼容寫(xiě)法用負(fù)索引取輪廓兩個(gè)版本都能對(duì)上found cv2.findContours(imgPre, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE) contours found[-2] # 4.x 取 contours3.x 也取 contoursfound[-2]在 4.x 里是第一個(gè)元素在 3.x 里是第二個(gè)元素正好都是輪廓列表。另一處版本差異是cv2.CAP_PROP_FRAME_WIDTH這類(lèi)常量3.x 里叫CV_CAP_PROP_FRAME_WIDTH新代碼統(tǒng)一用帶CAP_前綴的寫(xiě)法。5.2 窗口與參數(shù)軌跡欄的三個(gè)典型翻車(chē)點(diǎn)現(xiàn)象一啟動(dòng)直接拋cv2.error: OpenCV(4.9.0) ... window not found。原因createTrackbar寫(xiě)在namedWindow之前。軌跡欄必須掛到一個(gè)已經(jīng)存在的窗口上窗口沒(méi)建掛載就失敗。解決把namedWindow提到最前面所有createTrackbar跟在后面。切換圖片時(shí)不要重復(fù)調(diào)namedWindow用setTrackbarPos重置滑塊位置就行?,F(xiàn)象二上一張圖把Threshold1調(diào)到 60換一張圖后沒(méi)動(dòng)滑塊計(jì)數(shù)全錯(cuò)。原因軌跡欄是窗口級(jí)狀態(tài)不是每張圖獨(dú)立。批量模式下窗口只建一次滑塊值會(huì)一直沿用。解決單圖模式每次加載新圖后顯式把參數(shù)重置到默認(rèn)值def reset_trackbars(defaults: dict): for name, val in defaults.items(): cv2.setTrackbarPos(name, WINDOW, val) reset_trackbars({Threshold1: 30, Threshold2: 80, MinArea: 1000})更穩(wěn)的做法是把每張圖調(diào)好的最優(yōu)參數(shù)連同文件名一起記進(jìn)表單下次遇到同類(lèi)圖直接查表設(shè)參不用重新試?,F(xiàn)象三按s沒(méi)反應(yīng)或者要連按好幾下才觸發(fā)一次保存。原因cv2.waitKey(1)的返回值在某些平臺(tái)帶高位直接和ord(s)比較可能不相等另一種情況是waitKey寫(xiě)在imshow之前窗口還沒(méi)刷新按鍵事件丟了。解決判斷寫(xiě)成cv2.waitKey(1) 0xFF ord(s)并且保證imshow在前、waitKey在后。視頻流里waitKey的參數(shù)給 1 到 10 毫秒給 0 會(huì)阻塞。5.3 數(shù)據(jù)落盤(pán)中文路徑與 Excel 追加現(xiàn)象一readPath返回的路徑明明存在cv2.imread讀出來(lái)全是None后面cvtColor報(bào)斷言失敗。原因cv2.imread底層用 C 字符串打開(kāi)文件路徑里有中文或特殊字符時(shí)打不開(kāi)而且不拋異常靜默返回None。解決用numpy讀字節(jié)流再解碼寫(xiě)文件同理def imread_unicode(path): data np.fromfile(path, dtypenp.uint8) return cv2.imdecode(data, cv2.IMREAD_COLOR) def imwrite_unicode(path, img): ext os.path.splitext(path)[1] ok, buf cv2.imencode(ext, img) if ok: buf.tofile(path) return okimdecode的第二個(gè)參數(shù)用IMREAD_COLOR保持三通道和后續(xù)處理鏈一致如果用IMREAD_UNCHANGED帶透明通道的 PNG 會(huì)變成四通道cvtColor的轉(zhuǎn)換碼要跟著改?,F(xiàn)象二第二次按s保存打開(kāi)表格發(fā)現(xiàn)只剩一行之前的數(shù)據(jù)沒(méi)了。原因DataFrame.to_excel默認(rèn)modew每次寫(xiě)都重建文件。哪怕傳的是已有文件路徑也是覆蓋。解決要么先讀舊表再concat要么直接用openpyxl追加行from openpyxl import load_workbook, Workbook def append_row(xlsx_path, row: dict): if os.path.exists(xlsx_path): wb load_workbook(xlsx_path) ws wb.active else: wb Workbook() ws wb.active ws.append(list(row.keys())) # 首行寫(xiě)表頭 ws.append(list(row.values())) wb.save(xlsx_path)字典的鍵順序在 Python 3.7 以后是插入序表頭和數(shù)據(jù)的列能對(duì)上。追加前最好用絕對(duì)路徑查一遍已有表里的文件名避免同一張圖按兩次s寫(xiě)兩行。這一點(diǎn)在批量模式里尤其重要重復(fù)行會(huì)讓后續(xù)統(tǒng)計(jì)的數(shù)量翻倍。6. 進(jìn)階用法把表單反哺成數(shù)據(jù)集標(biāo)注與參數(shù)回歸驗(yàn)證表單寫(xiě)順了之后它的價(jià)值就不只是「記錄一下」而是變成一份可回歸的驗(yàn)證集。命名規(guī)則里如果帶上數(shù)量比如類(lèi)別_日期_序號(hào)_數(shù)量.jpg文件名本身就是弱標(biāo)注不用再手工標(biāo)一遍。import pandas as pd df pd.read_excel(records.xlsx) # 從文件名尾部解析數(shù)量例如 part_20230618_001_12.jpg df[label] df[filename].str.extract(r_(\d)\.jpg$).astype(int) df[err] (df[count] - df[label]).abs() print(df.groupby(label)[err].agg([mean, max, count])) hard df[df[err] 2]err的均值看整體偏移max看最壞情況count看樣本量夠不夠。均值在 0.5 以?xún)?nèi)、最大值不超過(guò) 2說(shuō)明當(dāng)前參數(shù)在這一批圖上基本可用hard里拎出來(lái)的圖回去用 Single-image 模式逐張看面積分布和閾值調(diào)完再批量跑一遍形成「調(diào)參 → 批量 → 回歸」的閉環(huán)。這一步比盲目拖滑塊有效得多因?yàn)槊看胃膭?dòng)都有量化反饋。再往下走可以把hard里的圖當(dāng)成失敗集單獨(dú)統(tǒng)計(jì)它們的共同特征是面積偏小被minArea篩掉了還是長(zhǎng)寬比超限被過(guò)濾了。如果是前者說(shuō)明面積區(qū)間下限要往下放如果是后者說(shuō)明長(zhǎng)寬比閾值太緊。參數(shù)和失敗樣本對(duì)上號(hào)之后下一次換場(chǎng)景就有據(jù)可依不用從零試。從那以后我每次動(dòng)面積閾值或者形態(tài)學(xué)核尺寸都強(qiáng)制先用 Single-image 把面積分布打印一遍再跑 20 張批量看err分布最后才把參數(shù)寫(xiě)死。省下來(lái)的返工時(shí)間比調(diào)參本身多得多。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
另类天堂| 顶级少妇BT天堂| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 超碰碰97资源站| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 日本免费不卡二区| 国产精品久久久久999| 亚洲第二页| 婷婷五月天激情四射| AV一起草在线| 黑丝制服中文字幕 | 大香蕉懂9| 亲子敌伦对白在线播放| 日韩免费看黄片| 亚洲AV小说| 超碰地址97| 九热久| 国产精品久久久久无码Av网曝门| 婷婷在线精品| 一区二区无码视频| 婷婷五月天基地| 日本男人插女人的逼黄色| 囯产精品久久久久久久久久梁医生| 亚洲成a人片在线观看中文!!!| 亚洲性综合9| 亚洲欧美天| 欧美爱三级日韩久久| 99999久久久久9国产精品| 色妺妺AⅤ| 91殴美大片| 啊啊啊爽爽| 99ri精品| 97视频一区| 激情网色| 蘋果手機免費看成人Av| 国产精品人人爽人人做可爱福利| 炮色五月| 日本不卡高清视频| 午夜综合在线| 久久久久亚洲av综合波多野制衣| 江都AV在线| 84YTCOM性无码| 五月婷在线| 亚洲精品国产拍免费91在线| 日韩不卡毛片Av免费高清| 亚熟在线| 国产精品宅男免费| 中出在线视频| 亚洲天堂人妻熟妇视频| 丰满人妻一区二区三区| 亚洲交换| 日本三级中国三级99人妇网站| 色一区二区三区综合| 狠狠干狠狠干| 成人av影院在线观看| 久久中文色图| 激情五月天综合网| 天天日天天搞天天干| 97国产精品久久久久| 超碰亚洲97| 女性喷水高潮在线观看| 日韩猛交| 亚洲Av诱惑| 亚州色站 日韩电影| 亚洲一区操| 欧美性Fer办公室秘书| 久久综合18p| 日韩性爱电影一区| av强奸乱轮| 夜夜爽夜夜爽| 91欧美www| 亚洲码和欧洲精品激情系列| 天天添天天干电影| 国产成人无码高清| 免费的很黄很污的全部视频| 蜜臀久久99精品久久久| 97资源站国产精品| 日韩资源网| 99爱久久视频频| 无码99| 精品人妻一区| 午夜乱轮操逼视频免费看| 人人妻人人爽人人精品| 青青草国产一区二区三区| 亚洲AO在线| 亚州色交| 久久香蕉网| 亚洲一欧洲中文字幕在线| 9久在线视频只有精品| 91色插| 久久久婷婷| 亚洲码专区| 亚洲男人综合| 国产精品一区在线播放| 韩国毛片一区二区三区| 日本一区二区三区精品| 久久AV无码网址| 人人操人人干xxx| 超碰色综合| 综合五月天| 艳美熟妇先锋一二三区| www.久久99| 国产99精品一区二区三区免费| 九九九999久久久网站| 91老熟女91老女人| 色噜噜日韩精品| 锕锕好爽 死我在线观看| 黄呦呦在线| 中文字幕 人妻不满 在线视频| 亚洲熟女精品| 国产女人极品高潮毛片| 91社区拍啪人妻| 国模少妇一区二区三区| 亚洲免费成人在线高清无码视频 | 男人天堂最新手机版在线青青草| 精品久久久久黄少妇| 狠狠狠一区二区三区| 亚洲色图大香| 久操B网| 麻豆天美电影一区二区| 日本免费不卡二区| 60秒免费小视频| 九九九九97| 91色s| 任我爽在线视频免费观看| AV99热18这里只有精品| 熟妇高潮一区二| 国产超碰在线一区| 操曰本熟女| 一区超碰一区| 91色花堂| 爽极品影院| wwwcaobibi| 五月婷久久| 后入 亚洲 美女 射| 内射日韩大臀美女| 久久伦理视频久久大香蕉视频| 亚洲天堂久| 色综合天天爱去电影网| wwwxxx日本爽| 日韩操人| 91精产一区二区三区| 青青草国产盗摄一二三区| 中亚黄色三级大片| 蜜臀视频网站| 国产区91柔拿会所技师| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 日本99久久| 久久久久久久久久久六六| 嗯嗯啊啊的视频| 欧美美女视频| 亚洲午夜福利视频| 9999九九九久久久| 国产午夜精品理论片a大结局| 乱伦一区二区三区‘| 精品性爱无码在线播放| 久久综合久久综合人久久夜精品| 久欲AV| 国产精品久久久久久久久久久久| 亚洲欧美在线观看2021| 婷婷色在线| jiujiujiujingpin| 在线观看不卡一区二区三区| 九九色婷婷| 96国产污污污丝袜| 国产亚洲99久久精品熟| 小少妇| 人妻熟女一区二区| 尹人免费观看视频在线| 亚洲 日本 一 二 三| 色色综合97| 天天综合网91| 99热这里只有精| 欧美骚少妇| 玖玖爱在线视频免费观看| wwwxxx日本爽| 91亚州欧美| 97超碰欧美精品| 欧美色性爱| 亚洲 中文 女同| 亚洲一区二区av| 精品v日韩欧美国产| 黄色成品网站| 思思热在线视频免费| 婷婷六月天| 久久久啊啊啊| 激情第四色| 国产精品久久久久9999小说| 丁香五月大香蕉| 加勒比综合a∨| 国产成人无码a| 嗯嗯啊啊啊好舒服| 精品蜜乳AV免费观看| 人妻熟女午夜精品在线| 无码高清操逼| 你草精品在线视频| 一级做a爰片久久毛片图片| 伊人综合色网| V A在线| 日逼国产| 夜夜 中文视频rt| 亚洲图片色图欧美另类| 97精品第3页| av一区二区三区四区| 嗯嗯嗯啊啊啊操的我好爽| AAAA级日本片免费视频| 九久久九精品视频| 国产操逼视频在线观看| 亚洲清纯综合| 91精品丝袜久久久久久| 欧美黄色手机在线观看| 插老姨肥穴| 国产一进一出视频网站| 国产精品久久久久久久久久久久久久久久 | 亚洲欧美精品久| 日韩无码黄色片| 久久伦理视频久久大香蕉视频| 超碰国产精品久| 欧美亚州色的图| 人看人人摸人人操| 三及片网站| 91人妻视频| 亚洲91在线播放影院| 熟妇高潮精品一区二区三区下载| 亚洲黄网在哪免费看| 久久97视频| 歐美一級亂黃99在綫精品| 国产在线激情视频| 97资源站国产精品| av72网| 99精品久久| 夜草网站| 一本大道青青| 欧洲中文字幕| 激情视频网址| 成人精品一区二区91毛片不卡| 超碰在线1234区| 六六久久日韩不卡| 中文字幕一区日韩精| 超碰美国| 欧美天天影院| 欧美激情 日韩精品| 国产精品一二三在线看| 日韩三级伦理中文字幕| 国产女主播视频在线观看| 69超碰综合| 手机在线中文字幕国产| 久久精品熟女亚洲AV麻豆软件| 啊啊啊啊啊好大好舒服想要| 人人操人人摸人人看人人插| 加勒比99999| 天操天操夜操夜月操月年年操| 91人妻Pr| 久久东京伊人一本到鬼色| 3P丝袜熟女 色综合| 绑缚麻绳人妻寝取完整版| 色婷婷亚洲婷婷| 日韩精品国产一区二区| 私人尤物在线精品不卡| 熟女少妇视频| 97jingpin| 亚洲国产一区二区三区在线 | 色综合一本| 日本幼女18+| 美女91在线观看| 大香蕉免费中文| 久久久久久国产精品免费网站| 精品99999| 女人天堂网| 久久国产对白激情浪潮| 中亚精品极乱| 久久麻豆一区二区| 9色在线| 日本精品无码三级网站| 手机在线免费看的av| 亚洲成人ab| aV中文麻| 国产精品欧美在线观看| 久九九九九九九九热| 天天插天天操天天摸天天射天天看| 天天综合~91入口| 日韩操人| 熟女丰满人妻一区| 嗯啊不要在线| AV天堂丝袜| 99性爱| 激情网五月天| 麻豆久久视频在线地址| 超碰79人人乐| 97午夜剧场日韩| 熟妇人妻精品一区二区视频色欲| 99色在线观看| 久草五月| juliaann精品熟女一区| 97色97好| 一区,二区,三区视频| 国产精品乱码久久久久久久久久久久| 日日日啊啊啊| 91久久久视| 欧美亚州综合图片| 国产AV人人夜夜澡人人爽麻豆| 情色五月天网| 伊人96在线| 欧美日日人人天天| 99热婷婷一区二区三| 94色色电影网| 无码动漫av中文字幕| www久久国产精品| 91精品久久久| 操逼操操操91| 亚洲精品一二三四区| n1038 一二三区| 日本不卡二三区| 欧美激情黑人| 天天做天天爱| 婷婷激情丁香| www久久国产精品| 五十路六十路七十路熟婆| 一区二区三| 夜草网站| 爱av免费| 大香蕉伊利av| 久久AV色| 97色色色| 日韩欧美tv一区二区在线观看| 人人摸人人添人人操 | 人人操人人摸人| 亚洲中文字幕网| 偷窥自拍亚洲色图| 99re在线视频国产| 麻豆黄站| 欧美日韩*字幕一区| 精品人妻一区| 亚洲。日韩。欧美| Aa东京男人的天堂| 97干97色| 噜噜噜无码AV一级一级久久影院| 岛国AV一区二区电影| 天天日美女的B| 外国免费性情大片| 强奸乱伦资源| 嗯嗯,好大,好爽,好骚| 超碰吊日色| 丰满美女一级毛片在线播放| 亚洲老熟妇xxx| 亚洲精品一卡二卡三卡福利视频网站| 一本久道久久综合狠狠爱一密臀精| 欧美伊人久久综合网| 国产麻豆一级精品视频| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 操逼天美3区| 激情综合网激情五月天| 久久久久久久久久久久欧美日| 天天综合网~91| 国产中文精品一区二区在线观看| 欧美日韩超碰在线| 一本大道青青| 免费观看的黄色的网站| 亚洲情色一区三区| 欧美激情综合网| 玖玖爱免费观看视频| 精彩视频日韩| 777超碰| 97超碰人人模人人拍人人| 国产 大胆 对白| 欧美Ⅴ性爱| 免费操逼91| 成人午夜高潮av猛片| 中文字幕乱码人妻二区三区| 黑人操一区二区| 久操视频资源站公开| 婷婷丁香成人| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 性爱乱伦网址| 欧美成人都市人妻| 亚洲91网站| 蜜臀va69| 亚洲视频中文一区| 国产福利av精彩对白| 亚洲天堂电影精品一区| 大香伊人在线一区| 偷拍导航视频网站| 日本乱人伦片中文三区| 无码聚合| 嗯嗯嗯,草死我| 曰本道人妻久久久在线不卡色视频| 骚女天天综合网| 亚川综合视频| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 伊人久久综合影院| 玖玖综合.com| 美女网站黄页| 国产粉嫩蜜臀av一区二区三区 | 长长久久免费视频| 国产第二页| 中欧人妻丝袜中文字幕| 中文字幕交换人妻| 蜜桃中文字日产乱幕4区| 久草线上视频免费看| 91老女人| 中文字幕成人| 欧美日韩亚洲五月天婷婷| 日韩啪啪视频| 无码自拍SM| 欧美熟女逼久久久久久| 91肉片| 人人操人人操草草| 自拍欧美| 国产精品白领在线观看 | 成年男人的天堂| 哈哈操 大香蕉| 国产日韩欧美操逼视频 | 男人的天堂2018.| 欧美伊人电影| 精品一啪| 久久婷婷欧美| 男女猛烈无遮掩视频免费软件| 开心五月深爱五月| 日韩欧美麻豆| 亚洲熟女中文字幕在线| 欧洲精品欧洲精品| 丰满人妻一区二区三区四区| 一区二区视频你懂的| 久久永久无码人妻视频| 野狼激情网| 天天躁日日躁狠狠狠躁| www久| 性感美女啊啊啊在线| 久久社区一区二区三区| 日韩人妻精品中文字幕| 国产亚洲精品激情| 另类av综合久久| 色哟哟 日韩精品| 手机av天堂久久久久| juliaann丝袜| 天天做天天爱天天高潮| 91网站18禁| 国产毛片精品一区二区色欲黄A片| 国产中文字幕在线| 成人三级片无码| 国模91| 免费簧片在线观看| 97视频新免费| 女人午夜视频777| 黑人粗大V S日韩女优视频| 精品一区二区成人| 日韩色图 一区二区| 亚洲成人美女无吗| 欧美线天码中字| 中日高清无码操逼视频| 91N综合网| 亚洲第一综合| 天天噜| 中文字幕日产av人| 久热影视| 啊啊啊啊啊啊啊啊啊在线观看| 中国女人内射6XXXXX| 久久久精品一区二区| 亚洲欧美日韩精品久久久一区二区| 人人操人人精品影片| 爽 好舒服 无码刺激久久| 91中文字幕在线观看| 婷婷五月天色| 无码国产精品96久久久久孕妇| 中文一区二区婷婷视频| 三级激情网站| 18禁久久| 日韩精品一区二区三区四虎影视| 91香蕉国产尤物视频| 成人色女网| 国产av又色又爽又黄| 啊啊啊啊,啊啊好多水| 99热这里只有精品99| 亚洲天天操| 最新亚洲风情电影| 日韩激情中文字幕有码| 春色综合网| av午夜玫瑰| 在线观看亚洲专区| 欧美双插| 国产乱人妻精品入口| 亚洲成?V人片在线观看福利| 日韩无码极品| 久久一本大香蕉 | av麻豆啪啪| 无码在线亚洲| 一区二区乱码福利| 人妻素股| 91人妻超碰| 夜夜天天噜狠狠爱2021| 啊v在线观看视频| 久久綜合很很很| 国产精品免费视频不卡| 台湾一区国产高清在线| 久久久久久中文| 美女露胸露奶头| 国产精品一二三在线看| 欧美成人一级麻豆| 五十路熟女在线不卡观看一区二区| 久久超碰久| 伦伦成年午夜免费视频| 国产白丝av| 超碰视97中文| 天天综和| 久久久久久亚洲精品不卡人乳 | 9精品久久久久| 青青草视频导航官网| 大香蕉久| 韩国黄片aaaa| 波多野42部激情无码喷潮| 久久99久久99精品天美传媒棢·纸:. | 草草草视频| 欧美精品三区| 亚洲丝袜天堂| 五月天综合网| 成人免费不卡在线视频| 成人自拍三级在线观看| 亚洲毛片基地专区| 欧美91色| 欧美久久久| 蜜臀亚洲中文| 亚洲丝袜二区| 久操不卡视频| 国产欧美岛国精品一区| 国产黄色视频久久| 久久一二三四| 成人性交午夜免费片| 亚洲情色综合网| 国产精品suv一区| 1024亚洲中文字幕久在线看片你懂的 | www.男人的天堂| 天操天操夜操夜月月年年操操| 熟女中出视频| 国产有码一区| 欧美三级一级| 亚洲AV无码| 日本 成 人 小说 电影 一区二区| 色官网在线| 97欧美性爱| 又大又长又粗又爽又黄| 中文字幕乱码人妻二区三区| 久久丁香久草综合网| 九九热AV| 久久久久亚洲Av无码专区老牛影视 | 国产精品网站www| 一区黄二区黄| 夜夜爽妓女| 18精品一区| 青草青青久久久久久国产| 色色五月天婷婷| 1024日韩| 中文字幕五区| 中文字幕二区日韩天堂| 日本有码影片下载| 亚洲另类久操网| 久久久久久久久久久97| 日少妇亚洲版| 欧美在线啊啊啊 | 国产诱惑| 中日韩久久久免费看| 51一区二区三区| 日本精品加勒比海一区| 日本韩国五十路六十路七十路老熟女作爱视频网站 | 无码丰满熟妇一区二区浪潮AV| 日本性爱欧美性爱| 亚洲精品天堂久久A∨51成人漫| 精品久久久久av影院| 粉嫩粉嫩一区性色AV片| 国产女性无套 免费观看| JULIA一区二区三区在线播放| 亚洲精品成人激情在线| 五月天成人综合| 欧美色棕合| 欧美大香蕉97| 超碰伊人在线| 91色插| 国产偷人伦激情在线观看| 国内毛片无遮挡国产| 亚欧无码在线| a久久| 日韩二三区| 国产视频大全| 97欧美日韩综合| 亚洲一区二区在线观看91| 乱操乱伦AV| 美女操逼福利视频| 日韩精品一区二区三区四虎影视| 一道本东京热加勒比一区二区三区| 美女诱惑在线一区| 久久精品国产97欧美精品亚洲| 精品九区| 日本欧美韩国国产在线| 亚洲国产欧美中文永久| 中文字幕日产av人| 制服丝袜第二页| 日韩精品-原创伙伴| 无遮挡一级毛片视频免费的| 久久性爱大全| 艾草av| 玖色av| 粉嫩av平台| 国产精品午夜高潮呻吟久久av| 久久色人体| 操淫穴亚洲五月丁香| 人妻天堂网| 国产自产自拍| 性欧美另类高清| 青青三级视频| 久久伊人最新网址视频| 久久久精品视频免费观看| 99热色这里只有精品| 内射卯月麻衣| 国产色图乱伦| 91站街按摩店老熟女熟女| 黑人中出21连凳花野真衣| 久久99干一本高清| 偷拍亚洲熟女视频播放| 男人的天堂亚洲| AV色五月天| 男女啪啪网站免费视频| 久操不卡视频| 麻豆国产成人精品| 午夜操一操| 久99久视频| ai欧美亚洲小说| 精品午夜福利导航| 婷婷啪啪| 精品人妻伦一区二区三区久久| 国产精品久久久久久久无码AV| 巨爆乳肉感一区二区三区竹菊影视| 韩国女主播青草在线| 射综合网| 91丨九色丨国产打屁股| 日韩中文9| 久艾草在线精品视频在线观看| 99性爱视频| 超碰在线综合97| 午夜福利av电影在线| 国产精品经典一卡久久久 | 熟女丰满人妻一区| 极品色综合| 日韩乱伦视频| 激情五月天校园春色网| 久久伊人亚洲AV无码网站| 欧美性天天影视| 久久久久久人体| 欧美日韩国产色图在线| 天天舔天天日天天射| 国产最火爆久久国产网站网站| 97超碰jingpin| 久久久久白虎| 色综合久| 欧美se综合| 9久久精品| 嗯嗯不要 视频| 偷看洗澡一二三区美女| 久久精品99| 精品v日韩欧美国产| 综合网97| 成人免费不卡在线视频| 97久久国产亚洲精品超碰热| 日韩无码黄色片| 色综合超碰超| 可以在线观看AV的网站| AV久日| 青青操狠狠撩| 67914在线兔费成人视频| 欧亚在线视频| 0755午夜福利视频| 精品色色| 少妇久久久久久| 亚洲一二三精品久久网| 午夜福利国产欧美日韩夜夜| 99操| 国产AV激情无码久久无码 | 国产女乱淫真高清免费视频| 99热日| 亚洲各类熟们中文字幕| 色吊丝 日日骚 清纯唯美| 六月婷婷激情| 成人五月天丁香激情综合| 欧美一二三区四五区| 啪啪啪东京| 亚洲综合一| 国产福利精品最新在线 | 久久超碰网| 青青草在线视频人人想人人上| 精品日韩人妻精品一二三区| 男人的天堂VA在线| 强奸乱伦麻豆| 日韩欧美女求操每天更新| 日韩欧美视频青青| 欧美成人A√在线一区二区| 成人在线永久| 国产伦精品一区二区三区在线观| 欧美翘臀视频网站一区二区三区 | 99热这里只有精品18| 色噜噜人妻av 中文字幕| 亚洲AV成人精品网站在AV| 性爱AV天堂| 综合激情婷婷| 亚洲影院365| 青青欧美| 夜夜操二区| 美国精品国产精品| 久艹免费| 啊啊啊在线观看免费视频| 亚洲最大的综合性av| 黄页| 桃色人妻在线视频| 五月天婷婷欧美三区| av一区二区三区四区| 91精品国产长腿丝袜美女| 欧美在线官网| 一区二区三区四区免费视频| 99re这里只有精品9| 99久热精品99re6热| 99在线精品观看99| 91人妻最真实刺激绿帽| 啊啊啊好大好深| 91骚妇| 伊人久久婷婷| 国产性爱在线视频一区二区| 992视频一区| 91天美传媒在线| 五月丁香影视| 一线黄色免费性爱片| 精品对白久久不卡| 久久人人爽av亚洲精品天堂桃色| 精品久久久九九九孕妇| 最新中文字幕在线亚洲| 一级性爱网| 91在线一起| 青青草白白色| 玖色AV| 欧美人人AAA| 日韩偷拍一区二区三区| 国产精品夜夜| 91 国产丝袜在线播放-百度| 欧美一区二区在线资源| 久久婷婷热| 亚洲色图欧美色图日韩色图| 可免费观看的av毛片中日美韩| 欧美性Fer办公室秘书| 久久欧洲| 爱射综合| 色色色综合网| 92人人操人人| 少妇无码av专区线| 国产免费黄色一级大片| 91熟女丨91老女人| 91模特在线观看| 久久m| 欧美熟妇精品黑人巨大一二三区| 人妻久久久久久| 日韩激情中文字幕有码| 天天插夜夜操| 在线毛片片免费观看| 久一区久久蜜桃| 欧美三四五区| 97超碰国产亚洲精品| 日韩美女高潮喷水视频| 五月婷婷hd| 一区二区三区网站日日骚| 五月婷婷综合在线| 91操人视频| 在线观看综合精品亚洲| 国产高清免费不卡av| 成人影院永久免费观看网址| J?P?NESEHD熟女熟妇伦| 神马久久午夜| 青青在线视频日韩欧美| 天美传媒AV在线| 清纯唯美激情| 午夜男人的天堂| 大粗鳼巴久久久久| 欧中美三级一区二区三区| 97中文综合| 亚洲中文sv| 欧美在线大香999| 伊人欧美大香蕉视频| 国产精品白丝AV| 国产怡红院在线| 亚洲中文sv| 久久三区四区| 性91| 日韩在线国产字幕| 亚洲天堂精品日韩电影| 欧洲在线性爱视频| 免费视频在线一区二区不卡| 91看黄片| 天天摸夜夜添无码小视频| 亚洲一区二区久久久久| 成人三一级一片aaa| 日韩午夜精品一区二区三区电影| 爱av免费| 爱射综合| 超碰日本97美女人妻人人玩人人爱| 精品国产乱码久久久久A| 蜜色网色哟哟| 国产午夜视频| 99后入| 欧美激情精品久久久久久| 丰满人妻一区二区三区四区| 欧美亚洲| 人人摸.人人色| 1禁看欧美黄片免费看| 强奸a片网| 人人天天欧洲| 婷婷色网| 国产精品大屁股999| 亚洲欧美碰碰| 日本成人免费一区二区三区| 精品成人动漫一区二区| 精品国产一级久久| 亚洲欧洲偷拍一区| 国产肏屁眼视频| 人澡逼| 玖玖爱影院| 亚洲精品免费中文字幕| 无码免费精品高清| 亚洲天堂男人在线| 久久亚洲熟妇在线视频| 少妇熟女视频一二三区| 97在线看| 黄片免费看的| 欧美色五月| 亚洲自拍一区夜夜操| 中出20p| 在线视频免费观看午夜| 多毛小伙内射老太婆| 99色色网| 欧美成人综合| 精品一区二区三区蜜桃| 亚洲电影中字一区二区| 亚洲欧洲网站免费观看| 国产精品久久发布| 台湾佬中文娱乐网久久久久久久久久com | 日本三级A片网站com| 91人妻Pr| 婷婷色网| 91观看 国产白丝| 日韩在线一区高清在线| 蜜桃臀av在线观看| 骚女高跟AV在线| 男人在线天堂| 青青操轻轻| 日韩99神马视频播放| 男人天堂导航| a一区二区三区乱码在线| 丁香六月啪啪| 国产在线精品电影观看| 搡老女人老91妇女老熟女| 在线可观看的黄色网址| 欧美色66| 伊人网高清| 思思性爱| 午夜精品久久久久久久99热影院| 最新制服中文第一页| 亚洲精品xxx| 国产精品久久久久久夜夜夜| 日日躁天天躁狠狠躁| 多毛小伙内射老太婆| 欧美亚男人的天堂| 超碰97COm中文| 91在线精品| 亚洲熟女乱熟乱熟妇综合网二区| 国产精品播放| 国产超碰| 国产偷人妻精品一区二区在线| 国产偷拍网站| 91爽啪| 91中出视频| 中文字幕成人理论在线| 二级久久网| 搡老女人911熟妇老熟女| 五月天激情综合网| 抽插一区二区视频| 久久社区一区二区三区| 男人天堂日日夜夜| 久草尤物| 九九九九88| 亚洲国产精品成人久久蜜臀| 久热婷婷| 国产乱码久久久| 国产男人又猛又粗又爽| 天堂射| 免费黄色片。| 91熟女综合| 成人av福利在线观看| 久久久久中出| 91操操操操| 情侣开房子拍 日韩无码 女的很漂亮| 亚洲天堂久久| 亚欧高清在线| 日韩专区久久久| 91成人在线免费视频| 中文字幕人乱码中文字的预防方法 | 可免费观看的av毛片中日美韩| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 大香蕉欧美国产日韩高潮| 超碰97人妻免费在线| 欧美色图亚洲色图成人在在线| 无码78| 欧美日韩夜夜| 伊人影院日本| 久久综合精品一区二区三区| 9国产超碰| 神马久久久久久久久久| 亚洲国产av中文字幕久久| 女生自91网站| 操操操日本的逼| 呦女网站| 欧美日韩性爱精品| 麻豆天美在线| 色性综合| 亚洲最新Av| 伊人久久大香线综合无码| 伊人丁香五月婷婷| 偷拍综合亚洲| 国产极品一区二区三区三州| 四虎精品亚洲| 91丝袜美女国产| 国产精品久久久| 97在线欧洲| 国产不卡免费在线视频| 日日日日做夜夜夜夜做无码97| 不卡啪啪视频| 久久久久久综合久久伊人蜜月| 欧美天天拍| 伊人专区一区二区三区| 五月开心久久AV官网| 色青青久久影视| 91性网| 性色高清在线| 国产www色在线观看| 床戏久久久av一区二区麻豆| 亚洲av夫妻操穴网| 97色伦97色伦国产欧美| 亚洲宗合网| 亚洲日韩精品在线播放| 国产福利合集| 96国产污污污丝袜| 久久性爱城| 2021国产成人精品久久| 九区国产| 这里只有精品久久| 黄片qw| 亚洲色图欧美色图综合| 怡红院视频在线| 在线无码视频| 99久久免费看精品国产一区| 中文字幕日产av人| 黑人嘿嘿嘿超爽免费视频| 人妻久久一区二区三区 | 97色冈| 手机在线视频国内精品| 97亚洲中文| 人人噜夜夜操| 丁香六月婷婷久久综合| 亚洲一区二区三区不卡国产欧美| 熟妇一区,二区,三区。| 中文字幕一区 二 区 三 四 五 区日 日 骚| 午夜福利无毒不卡| 日本熟妇人妻一区二区三区| 色色99| 国产这里只有精品| 国产绿奴视频在线观看| 国产精品不卡少妇白| 婷婷另类小说| 国产精品麻豆成人AV艾秋| 亚洲色图欧美色图日韩色图| 一本色道综合久久欧美日韩精品| 中 文字幕一区二区三四 五 区日 日 骚| 操婷婷逼| 亚洲国产精品99久久久| 色香天天| 色五月AV在线| 久久超碰亚洲人| 婷婷五月天av| 777AV电影| 东京热男人的天堂| 神马久久久久久久久| 欧美 传媒 麻豆 日韩 偷拍| 综合婷婷| 日本一区二区三区四区免费观看| 国产精品女aA片爽爽视频| 91痴汉| 国产久久一区二区| 天天看片天天爽| 婷婷激情五月| 亚洲无码久久久久久久| 日韩有码 一区二区三区| 国产精品久久久久9999小说| 天天操天天日天天干| 97香蕉人人乳| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 天天日天天干少妇日| 亚洲另类色综合网站| 精品无码人妻一区二区免费蜜桃| 国产欧美美女免费观看视频| 伊人久久婷婷| 日本一级二级三级网站| 日韩99精品视频综合区| 亚洲中文字幕精品一区| 中文字幕在线免费观看 | 人人妻人人爽 97人人看碰人免费公开视频| 9Ⅰ超碰| 青青操日韩| 屁股久久久久久久久| 精品一久久久| 黑人天8A∨高清网站| 天美av在线观看| 五月丁香久久| 五月丁香| 狠狠干婷婷| AAA久久| 桃花色涩综合影院| www网站黄| 欧美性爱十八禁| 成人八戒网站| 色呦呦呦在线观看视频| 亚洲av综合色| 天天看天天在线精品| 国产日韩色综合| 国产成人无码a| 在线观看不卡一区二区三区| 高清无码久操视频| 精品蜜乳AV免费观看| 精品无码久久久久久久杏吧| 日韩三级伊人| 久久成年片色大黄全免费网站| 青青草国产欧美非洲黑人| 上特色A在线| 国产传媒日韩欧美| 国产又黄又爽| 国产在线观看一区二区三区| 亚洲精品国语在线播放| 高清国产无码av| 一级人妻性爱视频| 中文人妻av高清一区| 日日日日做夜夜夜夜无码| 国产一级不卡在线观看| 1024人妻熟女一区二区三区| 久久精品店| 亚洲日韩精品在线播放| 久久五月丁香| 97资源制服丝袜| 97精品国产97久久久久久户外免费| 欧美色图亚洲色图成人在在线| 后入人妻一区| 日韩 成人 有码| 亚洲日本天堂| 新怡红院| 亚洲图片欧美| 亚洲天堂五月天国产| 熟女乱伦A| 一区二区三区视频在线观看免费| 狼人久草| 男女打扑克高清网站| 九九热视频这里只有精品| www.男人天堂| 高潮9999外国| 日韩欧美加勒比| 天天谢天天干| 久久精品国产96精品亚洲拳交 | 亚洲色吧网| 日本啊啊啊啊啊视频| 久久成人午夜狠狠| 人妻91少妇| 黄色免费网| 亚洲色图日韩精品| 九九色精品| 情色av电影| 综合性视频99| 久久无码精品| 99视频这有这里有精品| 人人射人人操人人摸| 日本有码久久| 日韩噜噜69| 久久香蕉国产线看观看亚洲女人 | 熟女乱伦A| 色色色网站| 亚洲激情色片| 嗯嗯不要 视频| 日本黄大片在线观看视频| 亚洲精品亚洲人成在线麻豆| 亚洲国产第一页综合视频| 日日A∨| 日比av无码| 啪啪啪东京| 99综合视频| 久久久久久久久久黄色网| 97色操| 在线岛| 国产精品交换一区二区| 色麻豆AV| 五月婷亚洲精品天堂| 亚洲成熟国产精品美女| 日本天天人人狠狠在线日美女 | 国产亚洲福利第一页丝袜| 亚洲一区中文字幕一区| 久久精品视频28| 亚洲情色 欧美| 一区二区三区探花在线观看| 91在线页| 国产97综合| 最新日日夜夜天天干干| 人妻久久久久久| 国产第二页| 五月丁香黄色网| 婷婷色导航| 欧洲精品一二三在线| 亚洲熟妇一,二,三期| 女人爽到高潮潮喷18禁网站 | 97久久国产亚洲精品超碰热| 日韩三级伊人| 丝袜大香蕉| 啊啊啊啊啊啊啊网址在线观看| 百度百度日本操逼| 色五月综合网| 校园春色宗合网| 国产家庭乱伦表演| 九九热精品视频在线观看| 美女网站黄页| 伦激情人妻另类人妻| 尻女朋友一夜| 日韩欧美中文字幕搭讪巨乳美人妻视频| 亚洲小电影免费涩涩成人在线高清| 校园春色综合| 0755午夜福利视频| 天天视频黄网站| 久久久久久久久久久999| 2024黄色视频| 欧美国产日韩清纯唯美| 亚洲图片视频小说| 国产熟女完整版中字| 久久亚洲天天做| 偷拍精品一区二区三区| 亚洲无码99| 亚洲九九视频| aaaa少妇高潮大片| 国产乱人妻精品入口| 男女日B国产| 无码国产精品午夜不卡(| 国产99热| 国产一级黄色片在线观看| 最新精品久久蜜桃| 日韩丰满熟妇| 在线亚洲丝袜视频网站| 国产69精品久久久久99尤物| 日日爱99| 国产97色在线| 国偷自 一区二区| 精品亚洲国产成人精品| 精彩国产视频播放1区2区| 91在线免费精品视频| 长长久久88视频| 亚洲黄色电影| 久久婷婷伊人|