日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

OpenCvSharp4.1例程實戰(zhàn):Mat、Canny與視頻鏈路調(diào)參排錯

OpenCvSharp4.1例程實戰(zhàn):Mat、Canny與視頻鏈路調(diào)參排錯 簡介面向 C# 開發(fā)者的 OpenCvSharp4.1 官方例程合集適合已具備一定 .NET 基礎(chǔ)、希望對照官方示例學(xué)習(xí) OpenCV 4.1 圖像處理與計算機視覺 API 的讀者。包內(nèi)共 176 個文件以 60 個 cs 源碼和少量 vb 示例為主體輔以 jpg、png、bmp 等示例圖像、mp4 演示視頻、項目配置、解決方案及 prototxt 等模型描述文件壓縮包約 37.25MB目錄按示例與工程文件組織便于檢索和直接運行調(diào)試。已有 13192 人學(xué)習(xí)下載說明其在 C# 視覺入門與示例查閱場景中具有一定參考價值。讀者可從中獲得圖像讀寫、二值化處理等基礎(chǔ)案例的完整工程結(jié)構(gòu)對照源碼理解 OpenCvSharp 的調(diào)用方式、參數(shù)設(shè)置與常見排錯思路也可將其作為課程實驗、項目原型或自有應(yīng)用的起步模板。1. OpenCvSharp4.1 例程包到底裝了什么先跑通再拆原理拿到 OpenCvSharp4.1 官方例程的第一晚我建議先別動代碼原樣跑一遍比讀十頁文檔管用。它是 OpenCV 4.1 的 C# 封裝配套示例集合覆蓋 Mat 讀寫與像素訪問、色彩空間轉(zhuǎn)換、濾波與邊緣檢測、輪廓分析、攝像頭取流和視頻寫出再往外一圈是 WinForms/WPF 的顯示封裝。適合兩類人想把手上 Python 視覺腳本遷到 C# 桌面端的開發(fā)者以及需要在 .NET 項目里嵌圖像處理、又不想自己寫 P/Invoke 的工程師。下面按「跑通—拆解—調(diào)參—排錯」的順序把拆包時的判斷和參數(shù)選擇寫清楚能照著復(fù)現(xiàn)。2. 環(huán)境搭起來四個包的職責(zé)邊界與第一個出圖的 Mat 程序例程包本身不帶運行環(huán)境能不能跑起來幾乎全看 NuGet 引用對不對。這一章先把包結(jié)構(gòu)講清楚再建一個最小工程驗證鏈路通不通最后講 Mat 的內(nèi)存模型——這塊不清楚后面所有例程都會以內(nèi)存暴漲的形式還回來。2.1 四個包的職責(zé)邊界與常見引錯OpenCvSharp 的包拆得很細職責(zé)基本是這樣的包名作用缺了它會怎樣OpenCvSharp4托管層 APIMat、Cv2、VideoCapture 等編譯期就報找不到類型OpenCvSharp4.runtime.win原生 OpenCvSharpExtern.dll 與 ffmpeg 視頻解碼庫編譯能過運行時 DllNotFoundExceptionOpenCvSharp4.ExtensionsMat 與 System.Drawing.Bitmap 互轉(zhuǎn)WinForms 顯示這一環(huán)斷掉OpenCvSharp4.WpfExtensionsMat 與 WPF BitmapSource 互轉(zhuǎn)WPF 下拿不到 WriteableBitmap關(guān)鍵點在于版本對齊托管包和 runtime 包必須是同一個 4.1 分支版本。C# 側(cè)調(diào)用的導(dǎo)出函數(shù)簽名跟著托管包走原生 OpenCvSharpExtern.dll 的導(dǎo)出表跟著 runtime 包走兩者錯位最典型的癥狀是EntryPointNotFoundException而且報錯信息指向一個看起來毫不相干的函數(shù)名第一次遇上會以為是包壞了。另一個硬約束是位數(shù)。原生 dll 分 x86 和 x64進程位數(shù)必須一致。C# 工程默認是 AnyCPU在 64 位系統(tǒng)上跑成 64 位進程但一旦勾了「首選 32 位」進程變成 32 位加載 x64 的 dll 直接失敗。我一般做法是顯式把 PlatformTarget 釘死成 x64不給運行時留選擇余地。2.2 從零建工程三條命令加一個 csproj用命令行建工程最快避免在 IDE 里點來點去點到某個默認選項上。# 建一個控制臺工程名字隨便起 dotnet new console -n MatDemo cd MatDemo # 托管包與原生運行庫包版本都跟 4.1 分支對齊 dotnet add package OpenCvSharp4 -v 4.1.* dotnet add package OpenCvSharp4.runtime.win -v 4.1.*版本號這里用4.1.*浮動寫法具體補丁號以包管理器里 4.1 分支實際的最新版為準不要跨大版本混裝。工程文件里再補一行平臺目標Project SdkMicrosoft.NET.Sdk PropertyGroup OutputTypeExe/OutputType TargetFrameworknetcoreapp3.1/TargetFramework PlatformTargetx64/PlatformTarget !-- 釘死位數(shù)避免 AnyCPU 在 32 位上翻車 -- AllowUnsafeBlockstrue/AllowUnsafeBlocks !-- 例程里有指針遍歷像素的寫法 -- /PropertyGroup /ProjectAllowUnsafeBlocks不是必須但例程里訪問像素有幾個地方用的是Mat.DataPointer加unsafe指針先開著能省一次重編譯。目標框架方面4.1 這一代在 .NET Framework 4.6.1 以上和 .NET Core 3.x 上都能跑桌面端拿 WinForms/WPF 做殼的選前者也行邏輯基本不用改。2.3 第一個能出圖的程序Mat 從讀到顯示不要一上來就跑最復(fù)雜的那個例程先用二十行代碼確認讀圖、處理、顯示、保存四條通路都通。using OpenCvSharp; // 讀圖flags 決定通道數(shù)Color 是 3 通道 BGR using var src Cv2.ImRead(sample.jpg, ImreadModes.Color); if (src.Empty()) { // 路徑錯、文件損壞、編碼不受支持都會走到這里提前退出比后面崩在 CvtColor 里好排查 Console.WriteLine(讀圖失敗檢查路徑或換個格式); return; } // 灰度與邊緣中間結(jié)果都放在獨立的 Mat 里方便單獨保存查看 using var gray new Mat(); Cv2.CvtColor(src, gray, ColorConversionCodes.BGR2GRAY); using var edges new Mat(); Cv2.Canny(gray, edges, 50, 150); // 顯示窗口名不要用中文部分平臺的 highgui 對寬字符支持不一致 Cv2.ImShow(src, src); Cv2.ImShow(edges, edges); Cv2.WaitKey(0); // 0 表示無限等待按鍵阻塞在這一行直到窗口有輸入 Cv2.DestroyAllWindows(); // 不調(diào)用的話后續(xù)循環(huán)里 ImShow 會不停新建窗口幾個參數(shù)值得記一下ImreadModes.Color強制三通道即使原圖是灰度或帶 alpha 也會被轉(zhuǎn)成 3 通道Canny的三個參數(shù)分別是輸入、輸出和兩個閾值后文會專門講怎么定這兩個數(shù)WaitKey(0)返回按鍵碼傳 0 是無限等傳 1 就是等 1 毫秒視頻播放循環(huán)里必須傳非零值這一點后面還會碰到。這段代碼能跑通說明托管包、原生 dll、highgui 三條鏈路都在位。跑不通的話問題基本就落在第 5 章那幾條上。2.4 Mat 的內(nèi)存模型為什么到處都在 usingMat 對象本身在托管堆上像素數(shù)據(jù)在非托管內(nèi)存里靠引用計數(shù)管理。GC 只管得到那個殼管不到像素緩沖區(qū)所以Dispose必須顯式調(diào)用using寫法是最省心的方式。更麻煩的是 Mat 支持視圖從一個 Mat 上切一塊 ROI新 Mat 和原 Mat 共享同一片像素內(nèi)存。using var src Cv2.ImRead(sample.jpg, ImreadModes.Color); // 這個 Mat 只是視圖不拷貝像素指向 src 內(nèi)部的一塊區(qū)域 using var roi new Mat(src, new Rect(100, 100, 200, 200)); // Clone 才是真正申請新內(nèi)存、復(fù)制像素 using var copy roi.Clone(); roi.SetTo(Scalar.All(0)); // src 上的對應(yīng)區(qū)域一起變黑 // copy 不受影響搞不清這一點常見后果是「我明明只改了縮略圖原圖也花了」。判斷方法很簡單構(gòu)造函數(shù)帶new Rect(...)或者new Range(...)的那種多半是視圖帶.Clone()、.CopyTo()的才是獨立內(nèi)存。寫循環(huán)處理時視圖的好處是省內(nèi)存壞處是生命周期互相牽連——視圖還沒釋放原 Mat 的引用計數(shù)就降不到零那片內(nèi)存就一直掛著。至于例程目錄怎么讀我的習(xí)慣是按依賴關(guān)系從簡到繁來而不是按字母序典型分組覆蓋內(nèi)容建議順序基礎(chǔ)圖像ImRead/ImWrite、像素訪問、Mat 運算第一圖像處理色彩空間、閾值、濾波、形態(tài)學(xué)、邊緣第二輪廓與幾何FindContours、包圍盒、多邊形擬合第三視頻與攝像頭VideoCapture、VideoWriter、幀循環(huán)第四界面與顯示W(wǎng)inForms/WPF 控件綁定、縮放與刷新第五檢測類級聯(lián)分類器、DNN 推理加載最后包內(nèi)實際目錄可能略有出入但依賴關(guān)系不會變。先把基礎(chǔ)圖像那組跑完能省掉后面大量「到底是 API 用錯還是環(huán)境沒通」的反復(fù)猜。3. 例程逐類拆解ImRead、CvtColor、Canny、FindContours 的參數(shù)怎么定這一章是例程包里最值錢的部分也是大多數(shù)人跑完就跳過、后面寫業(yè)務(wù)代碼時又回頭翻的部分。圖像處理的參數(shù)沒有萬能值但每一個都有可以量化的定法下面按調(diào)用鏈順序講。3.1 讀寫與色彩空間通道順序和 HSV 的取值范圍OpenCV 的默認通道順序是 BGR不是 RGB。C# 里從 Bitmap 轉(zhuǎn)過來、或者從攝像頭抓幀色序都是 BGR直接送給 WPF 或 WinForms 顯示會和原圖對不上藍色發(fā)紅。轉(zhuǎn)換方式在顯示環(huán)節(jié)做不要在算法入口做。using var src Cv2.ImRead(sample.jpg, ImreadModes.Color); using var hsv new Mat(); Cv2.CvtColor(src, hsv, ColorConversionCodes.BGR2HSV); // HSV 里 H 在 OpenCV 中被壓到 0~179不是 0~360 // 所以要取「紅色」范圍得用 0~10 和 170~179 兩段而不是 0~30 和 330~360 using var mask1 new Mat(); using var mask2 new Mat(); Cv2.InRange(hsv, new Scalar(0, 80, 60), new Scalar(10, 255, 255), mask1); Cv2.InRange(hsv, new Scalar(170, 80, 60), new Scalar(179, 255, 255), mask2); using var redMask mask1 | mask2; // 兩段合并三個參數(shù)的含義H 是色相OpenCV 為了塞進 8 位無符號數(shù)除以了 2所以上限是 179S 是飽和度0 到 255低于 80 的基本是灰白區(qū)域V 是明度低于 60 接近純黑。這三個下限不是隨手寫的室內(nèi)弱光場景 V 要往下調(diào)到 40 左右否則暗部目標全丟強光過曝場景 S 要往下調(diào)否則高光區(qū)域飽和度被壓扁。ImreadModes那幾個常用值也順便記一下Color強制三通道Grayscale單通道Unchanged保留原始通道和位深——讀 16 位 TIFF 或帶 alpha 的 PNG 時只有Unchanged不會丟數(shù)據(jù)其余模式都會做隱式轉(zhuǎn)換精度掉了自己都不知道。3.2 濾波與邊緣兩個閾值到底怎么定高斯模糊的核尺寸必須是奇數(shù)傳偶數(shù)會直接拋異常。sigma 傳 0 表示由核尺寸反推這是最常用的組合因為手動調(diào) sigma 和核尺寸兩個參數(shù)很容易互相打架。using var src Cv2.ImRead(sample.jpg, ImreadModes.Grayscale); // ksize 必須是奇數(shù)sigmaX 傳 0 由 ksize 推導(dǎo) using var blur new Mat(); Cv2.GaussianBlur(src, blur, new Size(5, 5), 0); // Canny 的雙閾值低于低閾值直接判非邊緣高于高閾值直接判邊緣中間地帶看連通性 using var edges new Mat(); Cv2.Canny(blur, edges, 50, 150);兩個閾值的經(jīng)典比例是 1:2 到 1:3問題在于絕對數(shù)值隨場景變化極大。一個可量化的定法是用灰度均值做基準Cv2.MeanStdDev(blur, out Scalar mean, out Scalar stddev); // 以均值上下浮動 33% 作為雙閾值再夾到合法區(qū)間 double lower Math.Max(0, (1.0 - 0.33) * mean.Val0); double upper Math.Min(255, (1.0 0.33) * mean.Val0); using var autoEdges new Mat(); Cv2.Canny(blur, autoEdges, lower, upper); Console.WriteLine($lower{lower:F1}, upper{upper:F1});MeanStdDev輸出兩個 Scalar這里只取第一個通道的Val0灰度圖正好只有這一個通道有意義。0.33 這個系數(shù)來自經(jīng)驗偏低會把紋理噪聲都拉成邊緣偏高會丟掉弱對比輪廓。調(diào)試階段建議把算出來的兩個數(shù)打印出來下次遇到同類場景直接從這組數(shù)起步比盲調(diào)快得多。模糊核尺寸和 Canny 是聯(lián)動的。核太大細邊緣在模糊階段就沒了怎么調(diào)閾值都找不回來核太小噪聲進到 Canny 里閾值再高也會有零星碎邊。常見做法是先用 5×5 起步邊緣太碎把核加到 7×7邊緣太粗回到 3×3。3.3 形態(tài)學(xué)與輪廓hierarchy 和面積過濾形態(tài)學(xué)的兩個基本操作是開運算和閉運算前者去小噪點后者補小孔洞結(jié)構(gòu)元素尺寸決定能處理多大的缺陷。// 開運算先腐蝕后膨脹去掉細小噪點 using var kernel Cv2.GetStructuringElement(MorphShapes.Rect, new Size(3, 3)); using var opened new Mat(); Cv2.MorphologyEx(edges, opened, MorphTypes.Open, kernel); // 閉運算先膨脹后腐蝕填補輪廓內(nèi)部的小斷裂 using var closed new Mat(); Cv2.MorphologyEx(opened, closed, MorphTypes.Close, kernel);GetStructuringElement的形狀參數(shù)里Rect適合矩形目標Ellipse適合圓形或自然目標Cross適合細線狀結(jié)構(gòu)。尺寸必須是奇數(shù)3×3 是最常用的起點處理的是像素級的毛刺要到 7×7 以上才能填補肉眼可見的缺口但同時會把相鄰目標粘在一起這一步要拿實際圖反復(fù)看。找輪廓的簽名里有三個容易記錯的點// 輸入圖建議傳 clone雖然 OpenCV 3.2 之后 FindContours 不再修改輸入但跨版本保險 using var input closed.Clone(); Cv2.FindContours( input, out Point[][] contours, out HierarchyIndex[] hierarchy, RetrievalModes.External, // 只要最外層輪廓 ContourApproximationModes.ApproxSimple); // 壓縮共線點只保留拐點 foreach (var contour in contours) { double area Cv2.ContourArea(contour); if (area 200) continue; // 面積過濾去掉噪點輪廓 Rect box Cv2.BoundingRect(contour); double perimeter Cv2.ArcLength(contour, true); // 面積與周長平方的比值可以粗略判斷形狀緊致程度接近圓的目標這個值偏大 Console.WriteLine($area{area:F0} box{box} perimeter{perimeter:F0}); }RetrievalModes的選擇直接影響結(jié)果External只返回最外層適合數(shù)目標個數(shù)Tree返回完整層級父子關(guān)系存在HierarchyIndex的Parent、FirstChild字段里適合做嵌套結(jié)構(gòu)分析比如找某個外框里面的小孔。ApproxSimple會把一條直線上的中間點全部壓縮掉點數(shù)能降一個數(shù)量級做面積和周長計算時精度損失可以忽略但如果你要拿點集做模板匹配就得換成ApproxNone。面積閾值 200 這個數(shù)不是固定的它和圖像分辨率強相關(guān)。判斷方法先把所有輪廓面積打印出來排序噪點通常集中在個位數(shù)到幾十真實目標會有一兩個明顯的數(shù)量級跳躍閾值就取在跳躍中間。4. 攝像頭與視頻鏈路VideoCapture 打開失敗、幀循環(huán)與 WPF 渲染圖像處理是靜態(tài)的視頻鏈路是動態(tài)的問題類型完全不同。靜態(tài)圖調(diào)不通最多是結(jié)果不對視頻鏈路調(diào)不通就是黑屏、卡死、內(nèi)存一路漲。這一章把取流、幀循環(huán)、界面刷新、寫出四段拆開。4.1 VideoCapture 打開失敗的排查順序// 第二個參數(shù)指定后端Windows 上 DSHOW 兼容性最好MSMF 打開更快但設(shè)備兼容性略差 using var cap new VideoCapture(0, VideoCaptureAPIs.DSHOW); if (!cap.IsOpened()) { Console.WriteLine(打開攝像頭失敗); return; } // 分辨率要在打開之后、讀幀之前設(shè)置順序反了很多設(shè)備會靜默忽略 cap.Set(VideoCaptureProperties.FrameWidth, 1280); cap.Set(VideoCaptureProperties.FrameHeight, 720); cap.Set(VideoCaptureProperties.FPS, 30); // 設(shè)置不一定生效讀回來確認實際值 Console.WriteLine($實際 {cap.FrameWidth}x{cap.FrameHeight} {cap.Fps});排查順序我一般是這樣先確認設(shè)備索引0 是默認攝像頭多設(shè)備時逐個試 0 到 3再看后端DSHOW和MSMF換著試某些采集卡只認其中一個然后看是不是被別的程序占用攝像頭是獨占資源另一個進程開著預(yù)覽就搶不到最后看分辨率設(shè)了一個設(shè)備不支持的尺寸有的驅(qū)動會直接失敗而不是回退到最近的可用值。Set之后再Get一遍確認這一步能省掉大量「代碼明明設(shè)了 1080p 為什么出來是 640」的困惑。4.2 幀循環(huán)的寫法與退出條件using var frame new Mat(); while (true) { // Read 內(nèi)部是 Grab Retrieve返回 false 表示流結(jié)束或取幀失敗 if (!cap.Read(frame) || frame.Empty()) { Console.WriteLine(取幀失敗可能是設(shè)備斷開或文件讀完); break; } // 處理放在這里注意不要在里面 new 大對象循環(huán)里每幀分配會觸發(fā)頻繁 GC Cv2.CvtColor(frame, frame, ColorConversionCodes.BGR2GRAY); Cv2.ImShow(live, frame); // 這里必須是 1 而不是 0傳 0 會阻塞到按鍵視頻就變成逐幀步進了 if (Cv2.WaitKey(1) 27) break; // 27 是 ESC }循環(huán)體里有三個細節(jié)Read復(fù)用了同一個frame對象不會每幀新建 Mat這是有意的避免每幀分配非托管內(nèi)存WaitKey(1)除了控制播放節(jié)奏還負責(zé)處理 highgui 的窗口消息不調(diào)用的話窗口會假死退出條件除了 ESC還要考慮流自然結(jié)束所以Read的返回值必須判斷不能只靠異常。文件播放時節(jié)奏控制另說。攝像頭是實時的WaitKey(1)就夠播本地視頻想按原速回放得按 FPS 算延時WaitKey((int)(1000 / fps))直接傳 1 會快放。4.3 在 WinForms 和 WPF 上刷新畫面Cv2.ImShow只適合調(diào)試真做工具得嵌到界面里。WinForms 用 PictureBox轉(zhuǎn)換靠 Extensions 包// WinForms每幀轉(zhuǎn)成 Bitmap 塞給 PictureBox var bmp OpenCvSharp.Extensions.BitmapConverter.ToBitmap(frame); // 上一幀的 Image 必須手動釋放否則 GDI 句柄會一路漲到系統(tǒng)上限 var old pictureBox1.Image; pictureBox1.Image bmp; old?.Dispose();WPF 走的是另一條路轉(zhuǎn)成WriteableBitmap直接綁到 Image 控件// WPF需要 OpenCvSharp4.WpfExtensions var wb OpenCvSharp.WpfExtensions.WriteableBitmapConverter.ToWriteableBitmap(frame); imageControl.Source wb;WPF 這里有個跨線程的坑取流通常放在后臺線程但給Image.Source賦值必須在 UI 線程。最省事的做法是后臺線程只負責(zé)處理和轉(zhuǎn)換轉(zhuǎn)好的WriteableBitmap通過Dispatcher.BeginInvoke拋回 UI 線程賦值。BeginInvoke而不是Invoke是因為同步等待在幀率高的時候會把后臺線程拖住反而掉幀。性能上還有一條BitmapConverter.ToBitmap每幀都會新建一個 Bitmap30fps 下每秒 30 次分配加釋放GC 壓力不小。分辨率上到 1080p 以后建議改成預(yù)分配一個固定尺寸的 Bitmap用LockBits直接寫像素雖然代碼多幾行但幀率會穩(wěn)很多。4.4 VideoWriter 的編碼與尺寸約束// 四字符編碼XVID 兼容性好MJPG 文件大但幾乎所有播放器都認 using var writer new VideoWriter( out.avi, FourCC.XVID, 25, // 幀率要和寫入節(jié)奏一致 new Size(1280, 720), // 必須與每幀尺寸完全一致 true); // 是否彩色 if (!writer.IsOpened()) { Console.WriteLine(VideoWriter 初始化失敗多半是編碼器不可用); return; } // 寫幀 writer.Write(frame); // 結(jié)束必須釋放否則文件尾索引不完整播放器打不開 writer.Release();三個硬約束幀尺寸必須和構(gòu)造時完全一致差一個像素都會靜默丟幀最后得到一個 0 字節(jié)或者時長對不上的文件幀率參數(shù)只寫進文件頭不影響實際寫入速度寫快了就是快放FourCC.XVID在部分精簡版系統(tǒng)上可能找不到對應(yīng)編碼器這時換FourCC.MJPG它是 Motion-JPEG幾乎不會失敗代價是文件體積大好幾倍。5. 避坑與排查五個把人勸退的現(xiàn)場例程跑不通的原因高度集中下面五條按我遇到的頻率排序每條都按現(xiàn)象、原因、解決三段寫。5.1 原生庫加載失敗與位數(shù)不匹配現(xiàn)象編譯通過一運行就拋DllNotFoundException: OpenCvSharpExtern或者BadImageFormatException。原因前者是 runtime 包沒裝或者原生 dll 沒被復(fù)制到輸出目錄后者是位數(shù)不匹配32 位進程去加載 64 位 dll。還有一種隱蔽情況機器上裝過別的 OpenCV 版本系統(tǒng) PATH 里有同名 dll加載到了錯誤的那份。解決先看輸出目錄下有沒有OpenCvSharpExtern.dll和opencv_videoio_ffmpeg*.dll沒有就重新裝 runtime 包并清理重建有的話用dumpbin /headers看一眼架構(gòu)把 PlatformTarget 顯式設(shè)成 x64不要依賴 AnyCPU 的默認行為排查 PATH 污染必要時在代碼里顯式指定原生庫搜索目錄。5.2 讀視頻返回空幀與中文路徑現(xiàn)象VideoCapture的IsOpened()返回 true但Read一直返回 false或者ImRead對某些圖片一直返回空 Mat換個路徑就好了。原因視頻打不開多半是缺 ffmpeg 解碼庫runtime 包里帶的那份沒被復(fù)制過去圖片讀不到基本是路徑含非 ASCII 字符原生層的文件打開用的是窄字符接口編碼一錯就找不到文件。解決視頻先確認 ffmpeg 的 dll 在輸出目錄圖片路徑要么改成純英文要么用Cv2.ImDecode(File.ReadAllBytes(path), ImreadModes.Color)繞開原生文件接口——這個寫法把讀文件交給 .NET解碼交給 OpenCV中文路徑問題直接消失我在所有交付項目里都這么處理。5.3 Mat 未釋放導(dǎo)致內(nèi)存一路漲現(xiàn)象跑幾分鐘內(nèi)存從幾百兆漲到幾個 G任務(wù)管理器里非托管內(nèi)存持續(xù)增長GC 也壓不下去。原因Mat 的像素數(shù)據(jù)在非托管內(nèi)存里GC 只回收托管殼不回收像素緩沖區(qū)。循環(huán)里new Mat()而不Dispose或者用 ROI 視圖把原 Mat 的引用計數(shù)釘住都會造成泄漏。另一種常見情況是異常路徑跳過了Dispose。解決所有 Mat 一律用using包括臨時中間結(jié)果循環(huán)里復(fù)用同一個 Mat 而不是每幀新建用Cv2.GetTickCount之類的手段做壓力測試跑一千幀看內(nèi)存是否穩(wěn)定視圖用完立刻釋放需要保留就Clone出獨立內(nèi)存。5.4 WaitKey 不調(diào)用導(dǎo)致窗口假死現(xiàn)象ImShow的窗口白屏、拖動沒反應(yīng)、點關(guān)閉按鈕也關(guān)不掉整個進程像卡住了。原因highgui 的窗口消息要靠WaitKey驅(qū)動不調(diào)用它窗口只是創(chuàng)建了但不進消息循環(huán)。這一條在新手代碼里出現(xiàn)頻率極高屬于典型的「玄學(xué)」問題——代碼看不出錯就是不響應(yīng)。解決任何ImShow之后必須跟一個WaitKey靜態(tài)圖用WaitKey(0)視頻循環(huán)用WaitKey(1)程序退出前調(diào)DestroyAllWindows()如果是在后臺線程里顯示注意 highgui 的窗口操作要放在同一個線程里跨線程調(diào)用會出現(xiàn)更難查的問題。5.5 WPF 圖像不更新與跨線程異常現(xiàn)象后臺線程更新了 Mat界面上的圖一動不動或者直接拋「調(diào)用線程無法訪問此對象因為另一個線程擁有該對象」。原因WPF 的 UI 元素有線程親和性后臺線程不能直接賦值Image.Source另一種情況是每幀都賦了新的WriteableBitmap但 UI 線程被別的邏輯占滿渲染隊列積壓看上去就是不刷新。解決轉(zhuǎn)換在后臺做賦值用Dispatcher.BeginInvoke拋回 UI 線程WriteableBitmap可以復(fù)用同一個實例改內(nèi)容后調(diào)Lock/AddDirtyRect/Unlock比每幀新建省一大截如果幀率還是上不去檢查是不是把耗時處理放在了 UI 線程。6. 把例程改成自己的工具一條可復(fù)用的處理管線例程的價值不在代碼本身在它給出了每條調(diào)用鏈的標準寫法。真正落地時把這些散落的調(diào)用收成一個管線類參數(shù)從配置文件讀比每次復(fù)制粘貼強得多。我一般的組織方式是一個IImageStep接口加若干實現(xiàn)管線負責(zé)串聯(lián)每步的開關(guān)和參數(shù)寫在配置里public interface IImageStep { string Name { get; } Mat Process(Mat input); // 返回新 Mat調(diào)用方負責(zé)釋放 } public sealed class Pipeline { private readonly ListIImageStep _steps new(); public void Add(IImageStep step) _steps.Add(step); public Mat Run(Mat src) { var current src.Clone(); // 入口先 Clone避免改到調(diào)用方的圖 foreach (var step in _steps) { var next step.Process(current); current.Dispose(); // 上一步的中間結(jié)果立刻釋放 current next; } return current; } }這套寫法的好處是每步都能單獨開關(guān)、單獨計時。加一個Stopwatch包在Process外面跑一遍就知道瓶頸在哪一步多數(shù)時候是形態(tài)學(xué)或者大核模糊而不是看起來最復(fù)雜的輪廓分析。步驟關(guān)鍵參數(shù)調(diào)參依據(jù)灰度轉(zhuǎn)換通道順序 BGR2GRAY輸入若是 RGB 要先轉(zhuǎn)序高斯模糊ksize 奇數(shù)、sigma 為 0邊緣碎就加大核Canny高低閾值 1:21:3用灰度均值 ±33% 起步形態(tài)學(xué)開核 3×3 到 7×7噪點尺寸決定核大小輪廓過濾面積閾值按面積分布的數(shù)量級跳躍取驗證方法我固定用兩步一是拿一張標準圖跑全流程把每一步的中間結(jié)果ImWrite出來存成序列肉眼過一遍找出哪一步開始不對二是跑一千幀壓力測試看內(nèi)存曲線是否平穩(wěn)、單幀耗時是否在預(yù)算內(nèi)。這兩步走完參數(shù)才敢往業(yè)務(wù)里帶。血淚經(jīng)驗是別在管線里做隱式轉(zhuǎn)換。初期為了省事我在某一步里直接把 BGR 當(dāng) RGB 處理單測看不出來上線后所有顏色判定的閾值全偏排查了大半天。從那以后我每接一個 C# 視覺需求都會先把中間結(jié)果落盤、把每步耗時打出來再談?wù){(diào)參。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
自怕偷自怕亚洲精品| 美女在线H91| 96久久久精品| 91欧美偷拍| 久 久无码人妻AV| 欧美亚综合色图| 多乙久久久久久| 柠檬AV导航| 国产在线激情| 国产野战露脸在线播放| 九九精品网| 啊啊啊用力在线观看| 一级二级三级黑人无码| 亚洲国产天堂| 亚洲人人夜夜澡人人爽| 综合久欧洲| 国产午夜无码片在线观看影视| 日噜夜夜夜夜夜夜夜夜夜夜爽爽爽爽爽爽爽爽爽爽爽爽 | 九九碰九九爱97| 精品欧美乱码久| www久久99| 日韩日本欧美在线观看| 伊香蕉综合久久久久久久噜噜噜| 天天日天天操VV| 综合五月天| SS久久| 国产人妖视频一区在线观看| 免费?级毛片无码?∨蜜芽试看| 超碰超碰超碰超碰的大鸡吧操黑丝袜 | 舔人妻中文免费视频| 天天享受天天看| 爱射综合| 另类TS人妖一区二区三区| 老汉网| 99自拍B亚洲| 色综合久| 一起草精品人妻| 很狠操| 亚洲欧洲色情高清| 亚洲AV人人澡人人爱| 999九九精品| 91五月天| 你草精品在线视频| 欧美三级不卡| 午夜精品久久久久久久男人的天堂 | 能在线播放的国产三级| 全免费a敌肛交毛片免费| 色色婷婷丁香| 欧美黄色大香蕉一区二区| 日韩色| 亚洲 小说 欧美 激情 另类| 成人精品一区二区91毛片不卡| 亚洲欧美不卡线| 狼人狠干| {男男暴菊gay无套网站| 一区二区三区机械有限公司| 亚洲五月丁香花狠狠干一区二区三区| 一起草AV| 91人妻超碰| 日本中文字幕高跟| 素颜老阿姨乱情色| 久久熟女久| 亚洲Av噜噜一区二区三区妖精| 久久精品一区| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 久久久9999| 久久久久久久唑| 人人性爱视频免费| 一区二区三区亚洲| 国产h片在线观看视频| 国产主播福利| 一起草日韩| 国产麻豆福利av在线播放| 日本黄色精品专区网站| 黑人精品一区二区在线播放| 国产 亚洲 丝袜 制服| 日韩免费看黄片| www九九热| juliaann精品熟女一区| 人妻丝袜肏逼| 青青草日本无码| 中亚精品极乱| 搡老女人老91妇女熟女| 天天日美女的B| 麻豆性爱视频在线播放| 啪啪自拍九九综合| 精品一区二区三区蜜桃| 18禁在线视频| 人妻夜夜爽天天爽麻豆三区网站 | 在线观看日韩av不卡| 日韩在线观看中文字幕视频| 大香蕉伊人网WWWn0n| 9999伦理视频| 久久99干一本高清| 欧美精品宗合| 亚洲熟女中文字幕在线| 天天干夜夜肏| 欧美不卡在线一区二区| 精品一区二区三区蜜桃臀赵总| 亚洲综合影片| 蜜臀va69| 免费啪啪一级视频| 黑人中出21连凳花野真衣| 青草伊人久久| 18禁止看精品中文字幕| 日本三级R| 97超碰久久| 最新中文字幕在线亚洲| 日日夜夜国产综合| 国产亚洲日韩在线三区黑人| 久久手机好看网站| 日本一本道A级黄色毛片试看60分钟| 成人自拍三级在线观看| 亚洲AV无码久久久国产精品| 精品国产一区二区三区久久久蜜臀 | 狠狠操使劲操| 操逼日韩无码 | 亚州乱码中文字幕综合久久久| 97久操| 日本性爱不卡视频| 亚欧中文字幕在线视频| 色吧 综合| 一类无码操逼视频| 午夜精品久久久久久久99热影院| 91啪啪| 久久久久久人妻一区精品色欧美| 欧美日韩亚洲一区二区在线观看| 嫩草 人人网精品| 国产内射爽爽大片| 性站| 亚洲一区二区在线观看91| 国产精品亚洲免费| 91操熟女视频| 偷拍网站久久男女男| 熟妇一区二区| 欧美日韩国产在线| 78操B| 久久亚洲欧美中文字幕国语| 97综合在线观看| 91综合中文字幕| 亚洲综合色婷婷| 殴美色网| 国产 日韩 另类 视频一区爱| 国产精品制服丝袜中文字幕日韩一区二区三区 | 美女91在线观看| 国产精品另类| 色婷婷丁香五月| 亚洲动态色图| 91 丝袜在线| 青娱乐欧美激情一区二区| 久久性爱城| 精品少妇99| 中文字幕成人理论在线| 秋霞怕怕片| 狠狠综合| 3PAV乱伦视频| 欧美后进式| 女人天堂av在线播放| 97色色婷婷| 亚洲乱妇p22| 久久水蜜臀亚洲AV无码精品| 激情五月婷婷综合| 秋霞操逼片| 人妻黑丝袜电影| ji熟女.com| 亚洲国产中文字幕| 五月综合久久| 无码区蜜乳| 综合网少妇| 久操99| 国产美女裸体秘 永久无遮挡| 欧美色图91p| www欧美性爱| 风月影院十八禁| 日韩传媒在线| 97久久久| 99久久久无码精品国产人| 9ⅰ久久久天天| 无码日韩网站| 极品欧美一区二区三区| 午夜操一视频一区| 91爱看| 天天日天天爽| 国产极品99热在线播放69| 色九久| 欧美一区二区情色| 中文字幕永久在线| 自拍偷拍草一草| 国产熟女高潮一区二区三区| 91欧美美女日韩国产婷婷| 超碰成人国产| 国产精品久久久久久 百度| 免费a v| 97中文字幕一区| 青草香蕉网| 久久久9 9 9精品| 成人影 天天操 亚洲| 草草网站影院白丝内射| 精品亚洲国产成人精品| 思思久热在线精品66| 天天天操天天天爱| 97丝袜亚洲在线播放| 久久综合日韩亚洲欧美| 天无日色综合| 人人操AV| 久久伊人五月天| 亚洲91在线播放影院| 17c嫩草51久久91嫩草| 91欧美情色| 91精品免费| 逼逼逼逼操操操操操操操操操午夜剧场 | 影音先锋新男人| 超碰地址久久| 老熟女网站| 国语精品av| 一级黄碟| 亚洲男人天堂视频| 秋霞福利网| 欧亚日韩综合精品国产| 啊啊啊不要嗯嗯在线观看| 日韩精品国模| 啊啊啊在线看| 色偷偷综合91久久噜噜| 密臀AV在线| 天美精品一区二区三区四区在线观看| 色五月69夫妻| 98超碰日本| 精品国产乱码久久久兰草影视| 亚洲视频一二区| 国产乱弄免费在线视频。| av在线人气| 成人网欧美风情| 中文字幕久久精视频久久大全| 区一在线观看| 精品综合久久久久久97| 国产白丝AV| 久热热| 亚洲日韩人妻中文字幕一区| 日本一级特级毛片视频| 国产兽交视频在线播放| 国产精品毛片?v一区二区三区| 在线A日本| 人妻精品视频一区二区| 丁香色婷婷| 99这里有精品| 少妇69中文| 大香网伊人久久综合网eew| 九九国产热| 91制服丝袜| 97天堂| 日本日逼高清| 国产高清1234区| 婷婷色一区| 欧美少妇内射| 色网亚洲人| 老熟女网站| 久久综合国产精品国产| 久久97| 久草精品国产蜜臀| 乱色老一区二区三区的观看方式| 夜夜爽夜夜| V A在线| 啪啪免费| 香蕉在线一区二区三区| 成人久久久精品| 啊啊啊啊好多水| 啪啪AV导航| 久久久98网站免费视频| 性爱AV天堂| 色路综合| blacked精品一区国产| 静品嫩模一区二区| 亚洲国产青青| 欧美色乱| 亚洲图片欧洲图片aⅴ| 欧美成人9797| 97人人夜| 亚洲一区二区三区AV无码| 欧美黑人猛交春色影视大全| 性交一区二区在线播放| 96超碰网| 色色无码| 高颜值美女口爆高潮浪叫| 最新亚洲黄色免费电影| 99热| 欧美性性性| 国产精品蜜乳AV| 啊啊啊 在线观看| 亚洲另类色综合网站| 亚洲精品乱码线路中文字幕| 国色天香av| 久艹99| 噜噜噜在线视频| 亚洲成人一二三区| 国产午夜在线观看| 国产精品一区人妻精品阁在线| 99热18这里只有精品| 国产精品久久aV| 色性综合| 亚洲少妇在线观看| 九九这里只有精品| 国产精品乱码久久久久久久久| av无码精品久久久久| 91色黑人少妇| 五月亭亭六月丁香| 男人的天堂2018.| 9久久久久| 丁香五月社区| 亚洲成人妻日韩在线| 操逼操逼逼操操逼91 | 狠狠色伊人亚洲综合网站色| 日本淫色网| 久久精品国产亚洲av水密被窝| 深夜激情无码| 色97综合中文字幕| 天天做天天爱| 午夜色婷婷| 欧美一区二区三区成人性生活| 中文字幕一区二区三区字幕| 国产久久一区二区| 国产精品香蕉热久久新品| 色爽——AV| 日韩,欧美,中文在线| 九九久久久九九| 老司机免费视频在线91| 性爱边摸边日免费AV| 啊啊啊不要嗯嗯在线观看| 精品午夜福利国产一区二区在线观看| 久久、1234| 亚洲91色| 丰满少妇高潮无码| 51一区二区三区| 后入福利视频| 九九性视频| 九九久久久| 久久久久久久久久久97| 中国大陆国产高清AⅤ毛片| 99热18这里只有精品| 国产又色又爽又舒服的三级视频| 大香蕉淫人| 天天弄欧美| 艹少妇网站| 南澳成人一级片在线播放| 超碰79人人乐| av在线不卡一区二区三区| 蜜臀久久99'精品久久久| 91色久| 午夜舔阴达高潮视频免费看| 97精品在线| 91美女高潮| 久热这里| 18禁美女裸体无遮挡啪啪| 久久伊人东京热| 青青草久久一区网| 精品久久久亚洲AV成人网站| 一中国女人毛片水真多| 天天性射网| 熟女色图在线| 丁香五月电影| 无码天天操| 亚洲熟女人妻中文字幕一区二区| 熟妇激情| 99re8超碰| 亚洲色综合| 免费一级精品啪啪视频| 日韩福利综合一区| 九九九九精品视频| 97超碰影音| 色999偷自拍拍| 思思热在线观看| 女人被男人桶爽视频网站| 丝袜 中出 制服 人妻 美腿 中文字幕| 亚洲精品97在线| 国产成人无码久久精品| 在线精品福利免费播放| 91香蕉视频在线观看免费| 大香蕉伊人75| 不卡六六在线91| 欲香欲色天天天综合和网| 日夜啪电影| 日本中文字幕在线视频| 99久久久久久久久| 久久国产乱子伦精品免费女人| 中文高清一区二区的| 国产亚州高清国产拍精| 国产成人亚洲精品无码古代早漏男 | 国产尤物AV尤物在线观看不卡| 国产高清亚洲日韩一区| 欧州一区二区三区四区| 操逼操逼操| 操少妞在线视频| 亚洲综合图文| 国模不卡一本二本三电影| 男女打扑克高清网站| 精品国产精品一区二区| 尤物一级在线免费观看| aaaa少妇高潮大片| 三级网色| 国产成人精品亚洲日本| 午夜精品久久久久久久99蜜桃一| 亚洲色图日韩精品| 中文字幕在线日亚州9| 国产小u女在线观看| 日本操逼视频导航| 国产真实野战在线视频| 俺去俺来也在线www| 99久久精品国产高潮| 无码视频黄色网战| 啊视频在线| 国产AV精久久| 免费看日产一区二区三区| 欧美中出1| 日韩av乱伦| 超碰av在线| 五月婷婷色色| 激情99| 精品无码一区二区| 吉川爱美亚洲二区在线| 欧美综合传媒| 久久国产乱子伦精品免费女,网站| av天堂电影网| 亚洲欧美色图小说| 天堂中文日本在线观看| 国产精品一区在线播放| 好爽视频在线观看视频| 国产精品 久久久精品一牛| 欧美日韩国产黄色片| 嫖老熟女A片一二三区| 另类小说五月天| 亚洲国产欧美日韩人妻日中文| 欧美日韩人人精品| 东北操逼| 欧美亚洲| 无遮挡男女激烈动态图| 天天干天天操天天干天天操| 天天影视网综合少妇| 日韩精品9999| 亚洲资源一区| 密乳无码| 欧亚乱色熟女一区二区| 九色 人妻 大香蕉| 久艹99| 久久久96| 久久美女福利是上海美女| 久久久久久久久久久久久久久性生活视频| 极品久久久久久久久久久久久久| 伊人骚琪琪亚洲天堂网站| 国产黄色影片在线观看| 午夜人妻精品综合在线| 亚洲污污网站| 精品久久久av无码免费| 涩五月婷婷| 国产成人天堂| 少妇久久久| 免费观看的黄色的网站| 99re9这里只有精品| 啊啊啊骚| 国产成人综合在线播放| 久久av色| 亚洲97在线观看| 高清无码 国产精品| 熟女一区二区三区| 变态综合色| 一级黄色性爱A级片| 精品视频123区小说区| 日日骚精品视频| 亚洲欧美日韩中文播放| 超碰91在线| 精品9区| 欧美大波激情xxxx| www.狠狠干.coom| 日日AAvv| 女同性恋久久| 日韩av情韩国爱禁区av一区二区| 在线无码视频| 亚洲少妇在线影音| 免费的黄片有限公司| 3p国产色噜噜一区| 99re在线精品78| 影音先锋乱伦资源| 91美女在线视频| 91操熟女视频| 午夜男女爽爽爽在线视频| 欧美一区二区成人一卡| 91亚洲色人| 久久天天性久久伊人| 一本色道久久综合精品婷婷| 99热欧美| 伊人视频| 色五月激情网| 久久精品国产亚洲av水密被窝| 亚洲精品官网在线观看| 丝袜色综合| 人人摸人人摸人人干| AV一二区| 久操凹凸视频| 综合大香蕉美。| 国产精品无码在线| 人妻少妇精品无码专区二区密桃| 激情综合网五月婷婷| 97伊人| 91麻豆天美国产欧美日| 亚洲AV色图| 国产午夜无码片在线观看影视 | 蜜臀AV一区二区三区激情综合| 久久亚洲AV无码白度| 99热99re超碰精品| 国产熟女完整版中字| 免费国产| 精品国产乱码久久久久久口爆网站| 欧美中字不卡| 精品久久視頻在线| 三级日本一区二区三区| 嗯嗯啊啊好大好爽| 色五月综合网| 2018天天日天天日| 中文字幕欧洲有码| 97一区二区蜜臀| 亚洲中文一区二区三区| 中国91AV| 精品网站99999| 99ri在线视频| gogogo免费高清看中国国语| com 首页 18岁 禁区 女优 免费 精选 同城| 99在线精品观看视频中文| 黄色二级片网站| av一区二区三区 中文| 国产福利视频精品视频| 亚洲成人ab| 久久人妇| 精品妇女一区二区三区| 人人摸人人摸人人干| 中文久久久| 日韩美女,国产传媒,视频一区| 翔田千里av一区二区三区| 四虎精品永久在线播放| 伊人在线大香蕉二。| 超碰97爽| 在线啊v一区| 久久系列| 色婷婷一区二区三区久久午夜| 久久99亚洲精品久久99果| 26uuu成人影片| 99少妇| www被窝色com| 青青草精玖玖69精品| 国产自偷自拍一区| 曰韩精品视频一区二区| 张柏芝国产一区在线观看| 久久久久久久久久久久黄色| 国产精品乱人伊人网| 91精品伊人久久久大香线蕉91| 91美| 老鸭窝日丰县女人| 中出20p| 九九人妻| 97在线免费公开视频| 在线五区| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 亚洲激情久久久伊人综合| 亚洲欧洲无码一区夜| 国产精品欧美激在线| 激情图片亚洲色图| 色诱avtt| 欧美综合网1| 色在线69堂| 精吧天堂| 国产精品午夜福利| 久久尹人大香焦视| 国产女人视频三四五区| 蜜臀无码视频在线观看| 秋霞操逼片| 收看日本人日bb| 亚洲精品一二区| 精品一区二区综合熟妇| 国产CHASE男男GAYGA 毛多色婷婷| 亚洲性爱无码乱伦av| 色婷婷香蕉| 夜色五月天| 日韩一级二级在线| 国产一区二区三区久久精品太古里| 久久久男人的天堂| 黑人精品欧美一区二区蜜桃| 久热一区二区| 综合五月婷婷亚洲一区| 亚洲AV在线资源| 中文字幕午夜精品久久久| 韩日欧亚a级| 九九热九九| 人人操人人插 - 百度 - 百度| 日韩有码 一区二区三区| 天天看天天在线精品| 欧美精品自慰系列寂寞少妇 | 粉嫩国产精品久久久| 最新av在线| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 四虎免费看黄| 超碰色大香蕉| 3PAV乱伦视频| 色综合久久88色综合久久天天| 亚洲婷婷五月天| 中文字幕乱码人妻一区二区三区,99精品| 99国产精品免费| 欧美草草高清日韩视频| 99久久国产精品免费高潮| 国产区性爱在线视频秋霞豆| 精品少妇后入一区二区三区四区人妻巨乳| 黄色二级片网站| 蜜桃网熟妇| 亚洲一区中文精品| 婷婷深爱五月| 青青草乱入乱欲视频在线观看| 九九九九亚洲| 国产精品盗摄 偷窥盗摄| www.狠狠操| 无码操逼天堂| 大学生美女口爆| 久久美女福利是上海美女| 97久久超碰国产网站| 亚洲交换| 少妇xx精品| 大香蕉在线免| 亚州性色| 日韩精品一区二区三区色欲 | 久久久久亚洲av综合波多野制衣| 激情综合五| 日产成人久久| 久久久久久一日韩字幕无码| 亚洲综合春色| 99热这里都是精品| 婷婷AV一区二区三区| 第四色色综合91| 亚州一区二区| 啊啊啊操一区| 91大香蕉伊人| 全球成人中文在线| 九七人妻在线| 久久精品中文字幕观看| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 91久久婷婷| 秋霞操逼片| 久久98| 中文字幕丝袜人妻| 性天堂| 九九热免费国产视频婷婷伊人五月| 欧美亚洲在线| 国产精品久久久鸭无码的功能| 九九九九九九九| 一本一道波多野毛片中文在线| 96精品久久久久中文字幕| 精品少妇999| 午夜天天碰综合视频| 日韩欧视频| 五月丁香啪啪| 性色A∨91| 红杏大香蕉| 色五月AV| 国产精品 午夜福利| 国产一区二区三区高清视频| 精品人妻1237| 人人人摸人人| 中国黑人三级片网站上区| 97天天操天天干| 国产欧美日韩一区二区三区| 色婷婷婷五月天激情四射| 香蕉黄色一级视频| 国外91| 国岛片视频| 日韩精品三级| 九色 人妻 大香蕉| 中文?日韩?免费?精品| 神马午夜久久久| 亚洲最大成人a毛毛片| 97免费视频在线观看视频| 伊人久久大香大香线蕉中文 | 91另类| 日本999精品视频| 激情视屏国产乱伦强奸| 丝袜天堂网| 日日干日日| 亚洲日韩在线a不卡99精品| 国产乱弄免费在线视频。| 国产三级日产三级韩国三级| 精品人妻少妇| AV老汉| 美女操逼福利视频| 人人操人人肉久久精品| 国产精品色哟哟| 欧美大香蕉同搞| 亚洲欧美清纯| 亚洲狼狼干综合1| 亚洲高清无码在线桃色| 少妇无码999| 大香网伊人久久综合网eew| 国产精品嫩草影院免费| 亚洲综合在线91| 粉嫩AV一区夜夜嗨| 亚洲中文一区二区三区| 亚洲丝袜诱惑| 少妇内射视频| 18一区二区三区| 免费公开人人操| 9118禁| 色偷偷超碰亚洲| 欧美毛片在线网| 婷婷午夜成人色中色| 懂色aV一区二区天美传媒| 国产二区三区粉嫩在线| 亚洲AV小说| 亚洲欧美日韩精品久| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | A级毛片在线看免费| 综合亚洲欧美| 精品美女人人干| 超碰 97国产熟女| 超碰人妻在线| 午夜电影在线观看无码专区| 日韩天天综合| 国产精品久久久久久久免牛肉蒲团 | 亚洲小说视频| 人人妻人人澡人人爽久久av| 九九色综合| 97任你吞精| 看大黄色大片原件| 日韩国产精品人妻无码久久久| 国产又粗又长又大的视频| 国产诱惑| 91蜜臀在线久久久久| 深夜激情无码| 欧美强奸乱| 国产51色综合久久免费| 中文久久| 91在线欧美| 嗯嗯啊啊操我| 久久香蕉国产线看观看亚洲女人| 91国产丝袜美女| 免费超碰97久久| 国产精品suv一区| 国产有码一区| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 日韩高潮一区| 免费看毛片操穴| 亚洲 日本 一 二 三| 中日高清无码操逼视频| 中文字幕精品资源在线| 日本一本道A级黄色毛片试看60分钟| 飘花国产午夜精品不卡| 日本性爰一道本| 懂色av色欲av蜜臀av| 久久久久久性爱免费视频| 五十路三区在线| 亚洲天堂精品日韩电影| 精品综合久久久久久五月天| 97超碰欧美| 三男一女不戴套的A片| 五码视频在线观看| 国产午夜福利专区综合| 亚洲字幕一区二区| 激情视屏国产乱伦强奸| 亚洲最新中文字幕免费| 国产无马视频| 91人妻PORNY九色大屁股| 五月色综合| 99re免费视频精品全部| 欧美另类精品xxxx| 天天精品| 91狠婷| 精品一区96| 动漫av中文| 日韩本不卡视频在线观看| 91欧| 国产AAAAAABBBBB| 欧美人妻精品一区二区| 丁香六月啪| 久久日韩毛| 国产乱人妻精品入口| 一本大道久| 欧美色图亚洲色| 啪啪啪精品| 亚洲操人| 青青久操| 亚洲熟妇白浆无码AV| 69精品| jizzjizz欧美| 天天日天天色| 成人一区二区三区四区| 九九热av| 中文字幕精品一区二区精| 国产福利小视频高清在线观看| 色婷婷小说| 干B| 日韩大香蕉精品在线视频| 91性情| 3P乱轮视频| 欧美熟爽综合| 色眯眯av| 黑人精品XXX一区一二区| 自拍鲍鱼一区在线高清观看免费| 亚洲欧美天堂在线| 大但人体久久久久| 天天看精品动漫视频一区| 在线v中文字幕一区二区三区| 天美麻豆精品视频99| 色网综合网| 成年人黄色视频免费| 色色色色综合网| 久久久久久性爱视频| 亚洲色图片区| 色综合天天| 九九热在线视频| 国产情色第一第二页在线观看| 国产老女人久久毛| 国产激情片在线观看| 久久的网站啊啊啊啊啊| 欧美丝袜91| 日本人人操人人操| 久久社区一区二区三区| 91麻豆天美国产| 国产三级片在线观看| 男男H黄动漫啪啪无遮挡网站| 人妻在线臀日韩| 久久免费少妇| 狠狠久久亚洲欧美专区| 国产精品夜夜夜| 人人摸.人人色| 青青草精品| w w w.久久精品| 日本操逼视频导航| 欧美少妇性乱| 日本精品网站在线中文| 黑人中出21连凳花野真衣| 99综合视频| rivers-china.com| 精品在线观看视频在线| 少妇色综合| 高清无码在线播放网站| 韩国女主播青草在线| 波多野结衣之双飞调教在线播放 | 亚洲素人综合| 中文字幕乱妇免费视频| 久久久久国产无av| 爱丝福利| 另类在线| 好吊色青靑草| 啪啪综合网| 99超碰碰| 久操B网| 国产一国产一级毛片古装| 99热在线播放| 国产久久久久久| 黄色小说亚洲| 北约熟女超碰| 国产精品密臀网在线观看| 成人麻豆av电影网站| 劲爆欧美人妖三区91| 综合自拍| 天天碰久久入| 久久这里只精品99re66图| 人妻精品一区二区三区| 激情文学网伊人| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 中文字幕文字幕无码一区二区三区电影99| 欧美一级久久久丰满| 果冻传媒A片一二三区| 俺去俺来也在线www| 91亚洲图片| 欧洲中文字幕| a级成人毛片免费视频高清| 超碰久久精品| 韩日精品四区| 日韩性爱视频在线免费观看| 乱色老一区二区三区的观看方式 | 精品国产乱码久久久久久日本公司| 极品极品色影院| 一起草高清无码| 97精品视频免费| 一区二区三区精品视频| 色欲av国内精品久久久久久| 情色五月天久久久| 夜夜影视四色| 超碰色综合| 蜜臀av网址| 日操粉逼逼| 97碰久久| 九九九草| 精品人妻一区二区三区-国产精品| 国产av又色又爽又黄| 揉揉揉夜夜| 青女在线| 久久国产精品91| 中日韩熟女| 中文字幕99999| 狠狠操狠狠燥| 欧美在线伊人色| 女人被添高潮免费视频| 亚洲天堂一区| 久久中文字幕女同性恋一区| 色九九九九久| 久久久久久亚洲中文| 成人一二三区| 神马午夜久久久| 国产日韩精品无码去免费专区国产| 天天干1区2区在线| 亚洲丝袜色图| 天天综合色电影| 国产精品熟女丝袜一区二区| 另类图片欧美激情综合| 免费视频观看60秒| 99re在线视频| 国产丰满熟夫69mpp| 国产精品大香蕉| 欧美黄片欧美黄片xxx| 国产精品久久久无码aV去| 久久东京热久久| 9 9无尺码天堂网| 蜜臀久久在线视频| 中文字幕精品丝袜| 混色激情av| 亚洲精品国产精品乱码不99| 国产一区二区精品久久99| 亚洲一区中文精品| 中文字幕后石码四区五区| 欲色影视综合吧| 有码免费观看| 久久久久密| 久久久久久加勒比| 久久熟女嫩草成人片免费| 国产美女精品| 亚州人妻| 欧美青青视频| 亚洲成人色情五月天丁香花| 亚洲精品819| AV天天在线观看| 天天综合网国产| 国产成人亚洲精品自产在线| 精品亚洲国产成人AV制服丝袜 | 熟女精品一区二区在线观看| 男女香蕉一区二区| 人人操人人射人人干| 操逼999| 精品人妻一区春色| 国色天香av| 欧美亚州手机在线| 五月天丁香欧洲日韩| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 一级久久性爱视频| 性爱乱伦网址| 日本一级黄色电影| 亚洲黑丝在线| 二区熟妇韩日| 青青草视频在线观看一区二区| 一区麻豆 高清中文字幕| 久久111| 欧美熟女丝袜| 91模特在线观看| 日韩天天综合| 久久精品人妻一区| se吧提供91精品国产91久久久久久| 在线中文字幕| 国产中文大片资源中文字幕| 婷婷视频在线免费观看| 九九久久精品| 草b在线| 青青青艹在线视频| 久久是精品| 亚洲综合首页| 国产精品嫩草久久久久| 91麻豆va国产精品| 久久肏大逼| 亚洲春色激情小说| 99热 按摩 日韩| 亚洲精品97久久中文字幕| 91性网| 日本色色色网站免费看不卡| 夜夜天天噜狠狠爱2021| 极品极品色影院| 日本不卡三级网在线播放| 日本在线不卡123| 欧美日韩精品久久| 91色欧美| 欧美日韩色综合网| 蜜乳av首页| 97精品一二区| 亚洲熟妇综合久久久久久| 久久久久99999| 黄色AAAAA欧美| 国产按摩一区二区三区| 嗯阿好爽好紧| 亚洲成人AB| 操婢日韩| 嗯啊不要啊在线| 中日无幕一二三四区| 久久人妻少妇| 国产二区三区免费视频| 国产1769在线| 欧美 综合| 人妻蜜桃臀| 国产日韩精品人妻久久久久色欲网站| 亚洲1区| 国产精品午夜福利视频| 久久夜夜| 天天色综亚洲91污| 日韩av色图综合| 校园春色五月天| 国产精品香蕉热久久新品| 欧美日日夜夜| 九九五月天| 性爱边摸边日免费AV| 91在线综合网| 天天干人人乐| 久久久麻豆精品| 江都AV在线| 深夜国产福利| 极品极品色影院| 成人久久久精品| 精品人妻一区二区三区视频在线| 国产AV激情无码久久无码 | 99热这里只有精品18| 亚洲欧洲av影音| 国模一区二区三区| 日本布卡一区二三区| 啪啪资源网| 搞中出视频在线观看| 国产熟女精品一区二区| 99色综合| 999热这里只有精品| 欧美性生活综合| 欧美色图片欧美色图| 国产精品久久天天干| 精品一区二区三区最新| 国产精品乱码久久| 97色色视频| 人妻娇喘 激情视频| 国产亚洲精品美女久久久m| 婷婷香网站| 少妇一区二区三区高速| 大香蕉在线免| 欧美激情性久久久久久| 情色AV电影| 亚洲一区二区在线观看91| 日韩乱码Av| 99精品人妻| 亚洲天堂性爱| 欧美成人贴图| 玖玖婷婷五月天| julia国产在线 | 999精品国产高清一区二区| 免费看美国人人爽,人人操| 无码人妻精品酒店| 亚洲少妇诱惑| 伊人黄色片| 久久偷拍人| 中文字幕精品一区二区精| 91亚洲欧美综合高清在线| 国产精品免费美女视频| 加勒比综合在线| 乱伦av麻豆| 秋霞视频一区二区| 欧美日韩国产男人| 91大香蕉伊人| 99免费视频| 免费精品无码一级毛片牛牛影视| 91大胆欧美| 先锋影音av先锋一区| 91性感网站| 久久91精品国产9丨久久分亭| 亚洲熟妇综合久久久久久| 色综合久久久久| 黑人免费福利视频| 欧美精品三区| 亚洲国产成人精品久久久国产成人一区二区 | 国产麻豆福利av在线播放| 一区二区三区在线日韩影院观看| 一区二区三区免费岛国片| 久久久涩| 日韩av三四区| 激情综合网五月婷婷五月天| 色图四区| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 久久夜夜夜| 亚洲成A∨人影院在线欢看| 91少妇人妻| 久久日本熟妇熟色高清| 久久99精品视频| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 亚洲午夜精品久久久中文影院| 女人天堂AV五区在线| 无码操逼网| 精品福利| jiujiujiujingpin| 性欧美另类高清| 国产精品自在线发布| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 黑人狂躁日本妞一区二区三区| 免费视频观看60秒| 330Dv国产女人终合视频极品人与兽 | 超碰在线观看av不卡| 亚洲在线91| 久久↗↗| 在线女人91| 色色色欧美| 美國A片| 99久久精品欧美国产| 一区二区三区一亚洲中文字幕、综合区灬 | 99日韩| 操B视频日韩无码| 校园春色亚洲色图| 欧美高潮| 中文字幕天天操| 丰满人妻一区二区三区四| 在线观看av区| 精品人妻一区二区三区四区石在线| com 首页 18岁 禁区 女优 免费 精选 同城 | 日韩成人私密一级精品av| 亚洲丨在线| 欧美性爱一内片一区二区三区| 强歼乱伦资源网| 乱伦一区二区三区‘| 午夜精品久久一区二区| 亚洲麻豆精品二区三区| 亚洲天堂女优在线| 97人人夜夜精品视频| 精品日韩| 欧色网址| 国产后入式在线观看| 欧洲精品久久| 久久精品夜色国产亚洲AV| 成人情色一区二区| 91粉嫩萝控精品福利网站_精品影音先锋国| 国产操伦| 国产三级在线现体验区| 五月婷亚洲精品天堂| 伊人九九九| 大香蕉92| 久久久久921| 香蕉av一区二区三区| 天天内射| 亚洲国产成人7777| 99中文字幕| 天天摸夜夜操视频| 麻豆AV短剧| 99热在线不卡| 国产传媒1234区| 日韩精品熟妇| 天天爽夜夜欢视| 北京专精特新企业招聘信息| AV色天香在线| 性色avv| 日本天天人人狠狠在线日美女 | 日日骚av| 午夜福利 成人 91| 综合网欧| 欧美.亚洲.另类.丝袜.制服.诱惑| 啪啪91| 婷婷综合| 欧美啪啪女女| 99re视频在线观看这里只有精品| 日韩久久三区| 啊a一区在线| 蜜臀99999|