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

ARTICLE DETAIL

資訊詳情

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

C#與OpenCV實(shí)現(xiàn)工業(yè)級(jí)雙目立體視覺(jué):從標(biāo)定到三維重建全流程

C#與OpenCV實(shí)現(xiàn)工業(yè)級(jí)雙目立體視覺(jué):從標(biāo)定到三維重建全流程 簡(jiǎn)介本資源是一套基于Emgu CV.NET版OpenCV實(shí)現(xiàn)雙目視覺(jué)標(biāo)定與3D重建的完整C#工程實(shí)踐方案面向具備基礎(chǔ)圖像處理知識(shí)的.NET開(kāi)發(fā)者、機(jī)器視覺(jué)初學(xué)者及高校課程設(shè)計(jì)者解決雙相機(jī)系統(tǒng)參數(shù)標(biāo)定、視差計(jì)算與三維點(diǎn)云生成等核心問(wèn)題。壓縮包共50個(gè)文件包含10個(gè)核心C#源碼文件如Form1.cs、Program.cs、3個(gè)可執(zhí)行exe程序、6個(gè)動(dòng)態(tài)鏈接庫(kù)dll含Emgu.CV相關(guān)依賴(lài)、4個(gè)XML配置與文檔文件以及sln解決方案和csproj項(xiàng)目文件結(jié)構(gòu)清晰開(kāi)箱即用整體大小僅999KB。已有396人學(xué)習(xí)下載適合快速理解SGBM立體匹配原理、掌握OpenCV在C#中的實(shí)際調(diào)用流程并復(fù)現(xiàn)從單目校準(zhǔn)、雙目標(biāo)定到3D點(diǎn)云可視化的一整套技術(shù)鏈路。1. 項(xiàng)目概述與核心價(jià)值最近在做一個(gè)工業(yè)質(zhì)檢的小項(xiàng)目客戶要求能精確測(cè)量零件上幾個(gè)關(guān)鍵孔的深度和間距誤差得控制在0.1毫米以?xún)?nèi)。用單目相機(jī)加激光測(cè)距的方案試了試發(fā)現(xiàn)對(duì)于復(fù)雜曲面和遮擋部分精度和穩(wěn)定性總是不盡如人意。折騰了一圈最后還是回到了雙目立體視覺(jué)這條經(jīng)典且可靠的路子上。所謂雙目就是模仿人的兩只眼睛用兩個(gè)攝像頭從不同角度拍攝同一場(chǎng)景通過(guò)計(jì)算視差來(lái)獲取深度信息從而重建出物體的三維輪廓。這個(gè)項(xiàng)目的核心就是基于OpenCV和C#來(lái)實(shí)現(xiàn)一套完整的雙目標(biāo)定和3D視覺(jué)流程。選擇C#是因?yàn)榭蛻舻纳衔粰C(jī)軟件是基于.NET Framework開(kāi)發(fā)的需要無(wú)縫集成而OpenCV則是計(jì)算機(jī)視覺(jué)領(lǐng)域的“瑞士軍刀”其calib3d模塊提供了非常成熟的雙目標(biāo)定和三維重建算法。網(wǎng)上關(guān)于PythonOpenCV做雙目標(biāo)定的教程很多但C#版本的、尤其是能深入到生產(chǎn)環(huán)境細(xì)節(jié)的完整分享卻比較零散。這次我就把自己從環(huán)境搭建、相機(jī)標(biāo)定、立體匹配到三維點(diǎn)云生成的全過(guò)程以及踩過(guò)的那些坑系統(tǒng)地梳理出來(lái)。這套方法的價(jià)值在于它不只是一個(gè)實(shí)驗(yàn)室里的算法演示而是一個(gè)可以直接應(yīng)用于工業(yè)現(xiàn)場(chǎng)、嵌入式設(shè)備或科研項(xiàng)目的工程化解決方案。無(wú)論是用于機(jī)器人抓取時(shí)的定位、自動(dòng)駕駛中的障礙物檢測(cè)還是像我遇到的精密測(cè)量場(chǎng)景這套基于OpenCV和C#的技術(shù)棧都能提供一個(gè)穩(wěn)定、高效且可定制化的基礎(chǔ)框架。2. 環(huán)境搭建與工具選型解析工欲善其事必先利其器。在開(kāi)始寫(xiě)代碼之前搭建一個(gè)穩(wěn)定高效的開(kāi)發(fā)環(huán)境是第一步這里面的門(mén)道不少。2.1 OpenCV的C#綁定選擇Emgu CV vs OpenCvSharp這是C#開(kāi)發(fā)者接觸OpenCV時(shí)面臨的第一個(gè)抉擇。主流的有兩個(gè)庫(kù)Emgu CV和OpenCvSharp。Emgu CV歷史更悠久封裝相對(duì)更“厚重”提供了與.NET框架更深入的集成比如可以直接和Bitmap、Image等.NET原生類(lèi)型互轉(zhuǎn)。它的API設(shè)計(jì)試圖更貼近.NET風(fēng)格。但它的更新速度有時(shí)會(huì)稍慢于OpenCV主版本且某些高級(jí)或最新添加的OpenCV功能可能支持不及時(shí)。OpenCvSharp這是我最終選擇的方案。它是一個(gè)更“輕量”的封裝其API幾乎與OpenCV C原生API一一對(duì)應(yīng)。這意味著你在查閱OpenCV官方文檔或C代碼示例時(shí)可以幾乎無(wú)腦地翻譯成C#代碼學(xué)習(xí)成本和遷移成本極低。它的更新非?;钴S能很快跟進(jìn)OpenCV的新特性。通過(guò)NuGet安裝極其方便。注意OpenCvSharp有多個(gè)NuGet包。對(duì)于大多數(shù)應(yīng)用安裝OpenCvSharp4和OpenCvSharp4.runtime.win根據(jù)你的系統(tǒng)選擇win、ubuntu等即可。后者包含了OpenCV本地的動(dòng)態(tài)鏈接庫(kù)DLL省去了自己編譯和配置環(huán)境變量的麻煩。我選擇OpenCvSharp的核心理由是**“所見(jiàn)即所得”**。做計(jì)算機(jī)視覺(jué)項(xiàng)目我們絕大部分時(shí)間是在和OpenCV的算法、參數(shù)打交道。一個(gè)與官方API高度一致的封裝能讓我把精力完全集中在視覺(jué)邏輯本身而不是庫(kù)的封裝差異上。例如C里的cv::stereoCalibrate在OpenCvSharp里就是Cv2.StereoCalibrate參數(shù)順序和含義完全一致。2.2 開(kāi)發(fā)環(huán)境與項(xiàng)目配置我使用的是Visual Studio 2022和.NET 6長(zhǎng)期支持版本。創(chuàng)建一個(gè)控制臺(tái)應(yīng)用或WPF/WinForms項(xiàng)目均可。安裝NuGet包通過(guò)NuGet包管理器控制臺(tái)執(zhí)行以下命令I(lǐng)nstall-Package OpenCvSharp4 Install-Package OpenCvSharp4.runtime.win如果你目標(biāo)平臺(tái)是x64建議在項(xiàng)目屬性中將“目標(biāo)平臺(tái)”也設(shè)置為x64以避免可能的位數(shù)不匹配問(wèn)題。準(zhǔn)備標(biāo)定板這是雙目標(biāo)定中最關(guān)鍵的物理工具。通常使用棋盤(pán)格Checkerboard或圓點(diǎn)網(wǎng)格Circle Grid。OpenCV對(duì)棋盤(pán)格的支持最完善所以我們用它。你需要高精度打印一張棋盤(pán)格圖并貼在平整的剛性板如亞克力板、鋁板上。棋盤(pán)格每個(gè)方格的實(shí)際物理尺寸例如25.0毫米必須精確測(cè)量這個(gè)值將作為標(biāo)定的已知尺度輸入。技巧打印后最好用游標(biāo)卡尺多次測(cè)量多個(gè)方格的平均尺寸而不是相信打印機(jī)的標(biāo)注。平整度也很關(guān)鍵翹曲的標(biāo)定板會(huì)引入誤差。雙目相機(jī)硬件你可以使用兩個(gè)獨(dú)立的USB相機(jī)組裝需固定相對(duì)位置也可以直接購(gòu)買(mǎi)集成好的雙目相機(jī)模組。前者靈活便宜但需要自己設(shè)計(jì)機(jī)械結(jié)構(gòu)來(lái)固定后者出廠已標(biāo)定但可能更貴。對(duì)于高精度要求建議選擇全局快門(mén)的工業(yè)相機(jī)以減少運(yùn)動(dòng)模糊。3. 雙目標(biāo)定原理與實(shí)操全解標(biāo)定的目的是確定相機(jī)的內(nèi)參焦距、光心、畸變系數(shù)和兩個(gè)相機(jī)之間的外參旋轉(zhuǎn)矩陣R和平移向量T。只有知道了這些參數(shù)我們才能將二維圖像點(diǎn)正確地映射到三維空間。3.1 單目標(biāo)定為每只“眼睛”做體檢在進(jìn)行雙目標(biāo)定前必須先對(duì)左右兩個(gè)相機(jī)分別進(jìn)行單目標(biāo)定。這個(gè)過(guò)程可以理解為給每個(gè)相機(jī)建立一份“身份證”記錄它自身的成像特性。// 偽代碼流程示意 Size patternSize new Size(9, 6); // 棋盤(pán)格內(nèi)角點(diǎn)數(shù)量寬9高6 float squareSize 25.0f; // 每個(gè)方格的實(shí)際尺寸單位毫米 ListPoint3f objectPoints new ListPoint3f(); // 世界坐標(biāo)系中的三維點(diǎn) for (int i 0; i patternSize.Height; i) for (int j 0; j patternSize.Width; j) objectPoints.Add(new Point3f(j * squareSize, i * squareSize, 0)); ListListPoint2f leftImagePoints new ListListPoint2f(); ListListPoint2f rightImagePoints new ListListPoint2f(); // 假設(shè)我們有N組左右相機(jī)同時(shí)拍攝的棋盤(pán)格圖片 for (int i 0; i N; i) { Mat leftImg Cv2.ImRead($left_{i}.jpg, ImreadModes.Grayscale); Mat rightImg Cv2.ImRead($right_{i}.jpg, ImreadModes.Grayscale); bool leftFound Cv2.FindChessboardCorners(leftImg, patternSize, out Point2f[] leftCorners); bool rightFound Cv2.FindChessboardCorners(rightImg, patternSize, out Point2f[] rightCorners); if (leftFound rightFound) { // 亞像素級(jí)角點(diǎn)精確化顯著提升標(biāo)定精度 TermCriteria criteria new TermCriteria(CriteriaTypes.Eps | CriteriaTypes.MaxIter, 30, 0.001); Cv2.CornerSubPix(leftImg, leftCorners, new Size(11, 11), new Size(-1, -1), criteria); Cv2.CornerSubPix(rightImg, rightCorners, new Size(11, 11), new Size(-1, -1), criteria); leftImagePoints.Add(leftCorners.ToList()); rightImagePoints.Add(rightCorners.ToList()); // 注意每一組圖片對(duì)應(yīng)的 objectPoints 是相同的 // 通常我們會(huì)維護(hù)一個(gè) objectPointsList每次添加 objectPoints 的副本 } } // 單目標(biāo)定左相機(jī) Mat leftCameraMatrix new Mat(); Mat leftDistCoeffs new Mat(); Cv2.CalibrateCamera(objectPointsList, leftImagePoints, imageSize, leftCameraMatrix, leftDistCoeffs, out Mat[] rvecs, out Mat[] tvecs); // 單目標(biāo)定右相機(jī)同理 Mat rightCameraMatrix new Mat(); Mat rightDistCoeffs new Mat(); Cv2.CalibrateCamera(objectPointsList, rightImagePoints, imageSize, rightCameraMatrix, rightDistCoeffs, out rvecs, out tvecs);關(guān)鍵操作與避坑指南拍攝技巧拍攝15-20組不同方位、不同角度、不同距離的棋盤(pán)格圖像。要確保棋盤(pán)格在圖像中清晰且盡量布滿整個(gè)視野。左右相機(jī)必須同步拍攝硬件觸發(fā)或軟件同步保證拍攝的是同一時(shí)刻的標(biāo)定板姿態(tài)。角點(diǎn)查找FindChessboardCorners有時(shí)會(huì)失敗尤其是在圖像邊緣或光照不均時(shí)。確保棋盤(pán)格對(duì)比度足夠高。打印的棋盤(pán)格邊緣最好有留白避免與背景混淆。亞像素優(yōu)化CornerSubPix這一步絕不能省。它將角點(diǎn)定位精度從像素級(jí)提升到亞像素級(jí)對(duì)標(biāo)定精度有決定性影響。標(biāo)定結(jié)果評(píng)估CalibrateCamera會(huì)返回重投影誤差。這個(gè)值反映了標(biāo)定精度一般要小于0.5像素對(duì)于百萬(wàn)像素相機(jī)。如果誤差過(guò)大需要檢查標(biāo)定板平整度、圖片質(zhì)量或角點(diǎn)提取是否正確。3.2 立體標(biāo)定確定“雙眼”的相對(duì)位置在獲得左右相機(jī)的內(nèi)參和畸變系數(shù)后就可以進(jìn)行立體標(biāo)定求解兩個(gè)相機(jī)之間的空間關(guān)系。Mat R new Mat(); // 旋轉(zhuǎn)矩陣 Mat T new Mat(); // 平移向量 Mat E new Mat(); // 本質(zhì)矩陣 Mat F new Mat(); // 基礎(chǔ)矩陣 // 使用之前單目標(biāo)定得到的圖像角點(diǎn)對(duì)和對(duì)象點(diǎn) Cv2.StereoCalibrate( objectPointsList, // 三維世界點(diǎn) leftImagePoints, // 左圖像點(diǎn) rightImagePoints, // 右圖像點(diǎn) leftCameraMatrix, // 左相機(jī)內(nèi)參 leftDistCoeffs, // 左相機(jī)畸變 rightCameraMatrix, // 右相機(jī)內(nèi)參 rightDistCoeffs, // 右相機(jī)畸變 imageSize, // 圖像尺寸 R, T, E, F, // 輸出外參和矩陣 CalibrationFlags.FixIntrinsic, // 標(biāo)志固定已標(biāo)定的內(nèi)參 TermCriteria.Criteria(30, 1e-6) ); Console.WriteLine($旋轉(zhuǎn)矩陣 R:\n{R}); Console.WriteLine($平移向量 T:\n{T}); // T的第一個(gè)分量通常是基線距離兩個(gè)相機(jī)光心的距離核心參數(shù)解讀旋轉(zhuǎn)矩陣 R描述了如何將右相機(jī)的坐標(biāo)系旋轉(zhuǎn)到與左相機(jī)坐標(biāo)系對(duì)齊。平移向量 T描述了右相機(jī)原點(diǎn)相對(duì)于左相機(jī)原點(diǎn)的位置。其中T[0]第一個(gè)元素的絕對(duì)值就是基線距離它是后續(xù)計(jì)算深度的關(guān)鍵。這個(gè)距離的測(cè)量單位與你提供的squareSize一致例如毫米。標(biāo)志位CalibrationFlags.FixIntrinsic這是關(guān)鍵因?yàn)槲覀円堰M(jìn)行了高精度的單目標(biāo)定所以在立體標(biāo)定時(shí)應(yīng)固定內(nèi)參只優(yōu)化外參(R, T)。如果不固定算法會(huì)同時(shí)優(yōu)化內(nèi)外參可能反而會(huì)破壞已標(biāo)定好的內(nèi)參引入額外誤差。3.3 立體校正讓圖像行對(duì)齊標(biāo)定完成后我們得到了兩個(gè)相機(jī)的關(guān)系。但原始拍攝的左右圖像是存在旋轉(zhuǎn)和偏移的。立體校正的目的就是通過(guò)數(shù)學(xué)變換將左右圖像“投影”到同一個(gè)平面上使得左右圖像中的對(duì)應(yīng)點(diǎn)只在水平方向x軸有差異即視差而在垂直方向y軸完全對(duì)齊。這極大簡(jiǎn)化了后續(xù)尋找匹配點(diǎn)的搜索過(guò)程從二維搜索變?yōu)橐痪S搜索。Mat R1 new Mat(), R2 new Mat(); Mat P1 new Mat(), P2 new Mat(); Mat Q new Mat(); // 視差轉(zhuǎn)深度矩陣是后續(xù)3D重建的關(guān)鍵 Rect validRoi1, validRoi2; Cv2.StereoRectify( leftCameraMatrix, leftDistCoeffs, rightCameraMatrix, rightDistCoeffs, imageSize, R, T, out R1, out R2, out P1, out P2, out Q, StereoRectificationFlags.ZeroDisparity, // 讓校正后的圖像主點(diǎn)對(duì)齊 -1, // alpha值-1表示自動(dòng)裁剪0表示保留所有黑邊1表示不保留黑邊但損失部分圖像 new Size(0, 0), out validRoi1, out validRoi2 ); // 計(jì)算校正映射表 Mat leftMap1 new Mat(), leftMap2 new Mat(); Mat rightMap1 new Mat(), rightMap2 new Mat(); Cv2.InitUndistortRectifyMap(leftCameraMatrix, leftDistCoeffs, R1, P1, imageSize, MatType.CV_32FC1, leftMap1, leftMap2); Cv2.InitUndistortRectifyMap(rightCameraMatrix, rightDistCoeffs, R2, P2, imageSize, MatType.CV_32FC1, rightMap1, rightMap2); // 對(duì)任意新圖像進(jìn)行校正 Mat leftRectified new Mat(); Mat rightRectified new Mat(); Cv2.Remap(leftOriginal, leftRectified, leftMap1, leftMap2, InterpolationFlags.Linear); Cv2.Remap(rightOriginal, rightRectified, rightMap1, rightMap2, InterpolationFlags.Linear);校正效果驗(yàn)證校正后你可以畫(huà)一些水平線貫穿左右圖像觀察同一場(chǎng)景特征點(diǎn)是否基本落在同一水平線上。這是判斷校正是否成功最直觀的方法。實(shí)操心得StereoRectify中的alpha參數(shù)是個(gè)平衡藝術(shù)。設(shè)為-1自動(dòng)或0比較穩(wěn)妥會(huì)保留有效區(qū)域但可能有黑邊。如果你需要最大化利用圖像區(qū)域可以嘗試調(diào)整alpha0~1但務(wù)必檢查validRoi確保后續(xù)處理只使用兩個(gè)ROI的交集部分否則邊緣區(qū)域會(huì)因缺少對(duì)應(yīng)點(diǎn)而產(chǎn)生錯(cuò)誤。4. 立體匹配與視差圖計(jì)算這是雙目視覺(jué)中最核心、最耗計(jì)算資源的步驟。目標(biāo)為左圖的每一個(gè)像素在右圖上找到其對(duì)應(yīng)的匹配點(diǎn)并計(jì)算它們?cè)谒椒较蛏系南袼刈鴺?biāo)差這個(gè)差值就是視差。4.1 匹配算法選擇BM、SGBM與深度學(xué)習(xí)OpenCV主要提供了兩種傳統(tǒng)算法BMBlock Matching塊匹配StereoBM bm StereoBM.Create(numDisparities, blockSize); bm.Compute(leftGray, rightGray, disparityMap);原理對(duì)左圖一個(gè)像素塊在右圖同一水平線上滑動(dòng)搜索最相似的塊。簡(jiǎn)單快速。缺點(diǎn)對(duì)紋理稀疏區(qū)域、重復(fù)紋理和光照變化敏感容易產(chǎn)生“條紋狀”噪聲。適用對(duì)實(shí)時(shí)性要求極高且場(chǎng)景紋理豐富的場(chǎng)合。SGBMSemi-Global Block Matching半全局塊匹配StereoSGBM sgbm StereoSGBM.Create( minDisparity, // 最小視差 numDisparities, // 視差搜索范圍 numDisparities / 16 blockSize, // 匹配塊大小必須為奇數(shù) P1 8 * channels * blockSize * blockSize, // 懲罰系數(shù)1 P2 32 * channels * blockSize * blockSize, // 懲罰系數(shù)2 disp12MaxDiff 1, // 左右一致性檢查最大容差 preFilterCap 63, // 預(yù)濾波圖像像素的截?cái)嘀?uniquenessRatio 10, // 唯一性檢測(cè)比例 speckleWindowSize 100, // 視差連通區(qū)域斑點(diǎn)濾波窗口大小 speckleRange 32, // 視差斑點(diǎn)濾波范圍 mode StereoSGBM.Mode.SGBM ); sgbm.Compute(leftGray, rightGray, disparityMap);原理在BM的基礎(chǔ)上引入了一維路徑代價(jià)聚合和動(dòng)態(tài)規(guī)劃通過(guò)多個(gè)方向的一維約束來(lái)近似二維的全局能量最小化。效果比BM好很多。優(yōu)點(diǎn)能較好地處理弱紋理區(qū)域視差圖更平滑、完整。缺點(diǎn)計(jì)算量比BM大。適用絕大多數(shù)對(duì)精度有要求的應(yīng)用場(chǎng)景是默認(rèn)推薦選擇。參數(shù)調(diào)優(yōu)經(jīng)驗(yàn)numDisparities必須是16的整數(shù)倍。它決定了可探測(cè)的最近距離。設(shè)得越大能看到的物體越近但計(jì)算量也越大且可能引入噪聲。一般根據(jù)基線距離和相機(jī)焦距估算一個(gè)最大值。blockSize匹配窗口的邊長(zhǎng)奇數(shù)。越大抗噪聲能力越強(qiáng)但邊緣會(huì)越模糊。通常在3~21之間奇數(shù)嘗試。紋理豐富的場(chǎng)景用小窗口如5紋理弱的用大窗口如11。P1, P2懲罰系數(shù)控制視差平滑度。P2P1。通常按上述公式設(shè)置是個(gè)不錯(cuò)的起點(diǎn)。uniquenessRatio唯一性檢測(cè)。值越大匹配要求越嚴(yán)格能過(guò)濾錯(cuò)誤匹配但也可能增加無(wú)效點(diǎn)視差為0。通常5-15。speckleWindowSize和speckleRange用于過(guò)濾視差圖中小的孤立斑點(diǎn)噪聲。對(duì)于有紋理的場(chǎng)景非常有效。4.2 視差圖后處理直接由SGBM計(jì)算出的視差圖disparityMap是16位有符號(hào)整數(shù)CV_16S格式其中每個(gè)像素的值是真實(shí)視差值乘以16。并且包含大量噪聲和無(wú)效值通常為負(fù)數(shù)或0。// 1. 轉(zhuǎn)換為浮點(diǎn)視差圖并除以16 Mat disparityVis new Mat(); disparityMap.ConvertTo(disparityVis, MatType.CV_32F, 1.0 / 16.0); // 2. 過(guò)濾無(wú)效視差例如SGBM中最小視差以下的區(qū)域 Mat mask disparityVis minDisparity; disparityVis.SetTo(0, ~mask); // 將無(wú)效區(qū)域設(shè)為0 // 3. 可選中值濾波或雙邊濾波平滑視差圖并保持邊緣 Mat filteredDisparity new Mat(); Cv2.MedianBlur(disparityVis, filteredDisparity, 5); // 或 Cv2.BilateralFilter(disparityVis, filteredDisparity, 5, 50, 50); // 4. 可視化將視差范圍歸一化到0-255以便顯示 Mat disparityDisplay new Mat(); Cv2.Normalize(filteredDisparity, disparityDisplay, 0, 255, NormTypes.MinMax, MatType.CV_8U);處理后的disparityVis才是每個(gè)像素點(diǎn)真實(shí)的視差值單位像素。5. 三維點(diǎn)云重建與深度計(jì)算有了校正后的圖像對(duì)、精確的視差圖以及立體校正生成的重投影矩陣Q我們就可以將二維圖像坐標(biāo)(x, y)和其對(duì)應(yīng)的視差d通過(guò)一個(gè)簡(jiǎn)單的矩陣乘法變換到三維世界坐標(biāo)(X, Y, Z)。5.1 使用重投影矩陣QQ矩陣在StereoRectify中已經(jīng)得到。它的作用是將(x, y, d, 1)齊次坐標(biāo)映射到(X, Y, Z, W)。// 假設(shè) disparityVis 是 CV_32F 類(lèi)型的有效視差圖 Mat xyz new Mat(); // 輸出將是 CV_32FC4 的Mat每個(gè)像素有4個(gè)通道 (X, Y, Z, W) Cv2.ReprojectImageTo3D(disparityVis, xyz, Q, handleMissingValues: true, ddepth: MatType.CV_32F); // 訪問(wèn)某個(gè)像素的三維坐標(biāo) int row 300, col 400; Vec4f point xyz.AtVec4f(row, col); float X point[0] / point[3]; // X X / W float Y point[1] / point[3]; // Y Y / W float Z point[2] / point[3]; // Z Z / W 這就是深度 if (point[3] 0) // W為0表示無(wú)效點(diǎn)如視差為0 { // 該點(diǎn)三維坐標(biāo)無(wú)效 } else { Console.WriteLine($3D Coordinate at ({col}, {row}): X{X:F2}mm, Y{Y:F2}mm, Z{Z:F2}mm); }深度Z的計(jì)算原理 根據(jù)三角形相似原理深度Z f * B / d。 其中f是相機(jī)焦距像素單位已包含在Q矩陣中。B是基線距離兩個(gè)相機(jī)光心的距離單位毫米也已包含在Q矩陣中來(lái)自平移向量T。d是視差像素。ReprojectImageTo3D函數(shù)內(nèi)部就是利用Q矩陣高效地完成了這個(gè)計(jì)算。5.2 點(diǎn)云的可視化與處理得到的xyz矩陣就是一個(gè)密集的點(diǎn)云。你可以將其導(dǎo)出為PLY或PCD等格式用CloudCompare、MeshLab等軟件查看。// 簡(jiǎn)單示例將有效點(diǎn)云導(dǎo)出為PLY格式ASCII using (StreamWriter sw new StreamWriter(pointcloud.ply)) { sw.WriteLine(ply); sw.WriteLine(format ascii 1.0); sw.WriteLine($element vertex {validPointCount}); sw.WriteLine(property float x); sw.WriteLine(property float y); sw.WriteLine(property float z); sw.WriteLine(end_header); for (int i 0; i xyz.Rows; i) { for (int j 0; j xyz.Cols; j) { Vec4f pt xyz.AtVec4f(i, j); if (pt[3] ! 0) // 有效點(diǎn) { float x pt[0] / pt[3]; float y pt[1] / pt[3]; float z pt[2] / pt[3]; sw.WriteLine(${x} {y} {z}); } } } }在C#中你也可以集成像HelixToolkit這樣的3D渲染庫(kù)在WPF應(yīng)用中實(shí)時(shí)顯示點(diǎn)云。6. 工程實(shí)踐中的常見(jiàn)問(wèn)題與深度優(yōu)化理論跑通只是第一步讓系統(tǒng)在實(shí)際環(huán)境中穩(wěn)定、精確地工作才是挑戰(zhàn)。6.1 標(biāo)定精度提升技巧多姿態(tài)、全覆蓋拍攝標(biāo)定板時(shí)不僅要左右上下移動(dòng)還要有繞X、Y、Z軸的旋轉(zhuǎn)讓標(biāo)定板出現(xiàn)在圖像的所有區(qū)域特別是四個(gè)角落。這能幫助相機(jī)模型更好地?cái)M合整個(gè)成像平面。光照均勻避免反光和陰影。均勻的漫射光是最理想的。棋盤(pán)格黑白對(duì)比要鮮明。延遲與同步如果使用兩個(gè)USB相機(jī)務(wù)必確保軟件觸發(fā)同步或者使用硬件觸發(fā)。異步拍攝會(huì)導(dǎo)致左右圖像不對(duì)應(yīng)標(biāo)定必然失敗。標(biāo)定板質(zhì)量使用玻璃或金屬基底的高精度標(biāo)定板。紙質(zhì)打印受溫濕度影響會(huì)變形。6.2 立體匹配的“老大難”問(wèn)題無(wú)紋理區(qū)域如白墻、純色物體傳統(tǒng)算法BM/SGBM在此完全失效視差圖會(huì)出現(xiàn)大面積空洞。解決方案增加紋理工業(yè)上常用投影結(jié)構(gòu)光如激光線、光柵來(lái)主動(dòng)創(chuàng)造紋理。算法上可以嘗試更大的blockSize或采用代價(jià)濾波如cv::ximgproc模塊中的DisparityWLSFilter來(lái)引導(dǎo)匹配。后處理使用圖像修復(fù)Inpainting或基于鄰域的有效視差插值來(lái)填充空洞但這會(huì)損失精度。遮擋區(qū)域由于視角不同某些區(qū)域只在其中一個(gè)相機(jī)中可見(jiàn)。SGBM的disp12MaxDiff參數(shù)和左右一致性檢查L(zhǎng)eft-Right Consistency Check可以部分檢測(cè)并剔除這些區(qū)域的錯(cuò)誤匹配。深度不連續(xù)處物體邊緣這里視差會(huì)發(fā)生跳變匹配容易出錯(cuò)導(dǎo)致邊緣“膨脹”或“鋸齒”。使用較小的blockSize和更精細(xì)的代價(jià)聚合方法如SGM的變種可以改善。6.3 性能優(yōu)化與實(shí)時(shí)性考慮SGBM計(jì)算量較大。在C#中處理高分辨率圖像如1280x720可能無(wú)法達(dá)到實(shí)時(shí)30fps。降低分辨率在對(duì)深度范圍要求不極端的情況下先將圖像下采樣再計(jì)算視差然后上采樣回去速度提升顯著。ROI限制如果只關(guān)心圖像中特定區(qū)域的深度只對(duì)該區(qū)域進(jìn)行立體匹配。參數(shù)調(diào)整減小numDisparities和blockSize能直接提速但會(huì)犧牲精度和深度范圍。硬件加速OpenCV的某些算法如cv::cuda::StereoBM、cv::cuda::StereoSGM有CUDA加速版本。但這需要NVIDIA GPU和編譯了CUDA支持的OpenCV。在C#中調(diào)用這些需要更復(fù)雜的封裝或考慮使用C編寫(xiě)核心算法模塊通過(guò)DLL供C#調(diào)用。并行處理利用C#的Parallel.For或Task并行處理圖像的不同行需注意OpenCV對(duì)象線程安全。6.4 系統(tǒng)集成與測(cè)量應(yīng)用在我的工業(yè)測(cè)量項(xiàng)目中最終流程如下初始化加載預(yù)先標(biāo)定并保存好的相機(jī)參數(shù)cameraMatrix,distCoeffs,R,T,Q,mapx/y。采集通過(guò)AForge.NET或OpenCvSharp的VideoCapture同步采集左右圖像。預(yù)處理校正Remap- 去噪GaussianBlur- 增強(qiáng)對(duì)比度CLAHE。立體匹配使用調(diào)優(yōu)后的SGBM參數(shù)計(jì)算視差圖。后處理視差濾波、空洞填充。三維重建ReprojectImageTo3D得到點(diǎn)云。測(cè)量在左圖校正后上通過(guò)鼠標(biāo)點(diǎn)擊選擇兩個(gè)點(diǎn)根據(jù)這兩點(diǎn)對(duì)應(yīng)的三維坐標(biāo)計(jì)算歐氏距離。// 簡(jiǎn)化的距離測(cè)量邏輯 Point2d pixelPoint1 new Point2d(100, 200); // 圖像點(diǎn)1 Point2d pixelPoint2 new Point2d(300, 250); // 圖像點(diǎn)2 // 獲取視差值注意坐標(biāo)轉(zhuǎn)換 float disp1 disparityVis.Atfloat((int)pixelPoint1.Y, (int)pixelPoint1.X); float disp2 disparityVis.Atfloat((int)pixelPoint2.Y, (int)pixelPoint2.X); if (disp1 minValidDisparity disp2 minValidDisparity) { // 反投影到3D Vec4f pt1 xyz.AtVec4f((int)pixelPoint1.Y, (int)pixelPoint1.X); Vec4f pt2 xyz.AtVec4f((int)pixelPoint2.Y, (int)pixelPoint2.X); Vec3f worldPt1 new Vec3f(pt1[0]/pt1[3], pt1[1]/pt1[3], pt1[2]/pt1[3]); Vec3f worldPt2 new Vec3f(pt2[0]/pt2[3], pt2[1]/pt2[3], pt2[2]/pt2[3]); // 計(jì)算歐氏距離 double distance Math.Sqrt( Math.Pow(worldPt2.Item0 - worldPt1.Item0, 2) Math.Pow(worldPt2.Item1 - worldPt1.Item1, 2) Math.Pow(worldPt2.Item2 - worldPt1.Item2, 2) ); Console.WriteLine($Measured Distance: {distance:F3} mm); }精度驗(yàn)證我使用高精度量塊作為基準(zhǔn)反復(fù)測(cè)試。發(fā)現(xiàn)影響最終測(cè)量精度的關(guān)鍵按重要性排序依次是標(biāo)定板物理尺寸精度 標(biāo)定板平整度 相機(jī)同步性 立體匹配算法參數(shù) 圖像分辨率。在良好條件下在1米工作距離上達(dá)到0.1%的相對(duì)測(cè)量精度即1米誤差1毫米是可行的。這套基于OpenCvSharp和C#的雙目視覺(jué)系統(tǒng)從原型到穩(wěn)定運(yùn)行花了近兩個(gè)月時(shí)間大部分時(shí)間都耗在標(biāo)定流程的標(biāo)準(zhǔn)化、匹配參數(shù)的精細(xì)調(diào)優(yōu)以及異常情況的處理上。它現(xiàn)在安靜地運(yùn)行在客戶的車(chē)間里替代了原來(lái)的人工抽檢??粗€(wěn)定地輸出一個(gè)個(gè)精確的測(cè)量數(shù)據(jù)感覺(jué)那些熬夜調(diào)參、對(duì)著滿是噪聲的視差圖發(fā)呆的日子都值了。如果你也在嘗試類(lèi)似的項(xiàng)目我的建議是耐心做好標(biāo)定它是所有精度的基石理解每一個(gè)算法參數(shù)背后的物理意義而不是盲目試錯(cuò)最后用真實(shí)場(chǎng)景的數(shù)據(jù)去驗(yàn)證和迭代你的系統(tǒng)。視覺(jué)項(xiàng)目一半是算法一半是工程。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久丝丝热| 五月丁香怕怕综合| 97干干干丁香| 日日撸夜夜操| 99色在线观看视频| 婷婷五月激情天| 色九网| 91人在线观看| 色99网站| av狠狠操| 日本熟妇精品99| 色综合久久天天综合网| 99免费热在线精品| 婷婷五月激情综合| 日本久久网| 久久色大香蕉| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 婷婷五月开心六月AV| 996热re视频精品视频| 五月婷婷丁香伦理网| 91精品又长又大又粗又爽又猛| 拍真实国产伦偷精品| 五月婷婷九| 丁香六月爱综合| 五月婷婷影院| 色色色色色色色色五月先| 日韩ww| 99热国产精品| 久久久这里有精品| 国产这里只有精品| www.色婷婷.com| 亚洲超碰在线| 色综合天天综合成人网| 1000部毛片A片免费观看| 久艹大香蕉| 天天五月天综合网址| 亚州精品色情在线观看| 六月丁香射婷婷欧美色图片| 色五月丁香一区在线| 婷婷伊人久久| 成人天天爽| 激情四射网| 9久热在线精品| 国产欧美日韩综合精品一区二区| 日韩无码AV电影网站| 亚洲色婷婷| A片一曲| 久久色亭亭五月天| 岛国AV网| 精品一区二区三区四区五区六区| 91狼友视频在线观看| 成人片黄网站色大片免费毛片 | 性爱五月婷婷| 日本高清久| 久久综合伊人77777蜜臀| 亚洲激情六月| 91热在线| 狠色狠色狠色狠色狠色网| 久久五月六月| 激情5月婷婷| 色五月综合激情| 人人看人人草人人摸| 开心综合激情综合| 久9视频免费播放| 久久久WWW| 色婷婷小说| 激情综合网五月婷婷| 亚洲1区| www,天天干| 日韩无码专区| 婷婷久久伊人| 婷婷激情综合无月| 天天爽天天爽视频| 色色激情| 丁香五月 性爱| 丁香五月玖玖| 综合激情五月四射婷婷| 亚艹艹| 91视频综合网| 色人久久| 噜噜干日本| 久久总和99| 国产激情久久久| 人妻性爱| 欧美大道不卡| 五月久久丁香| 袁子仪视频观看| 婷婷六月久久| 欧美内射AA| 久久99热这里只频精品6学生| 亚洲成人在线在线| 一级片sese片.COM| 天天五月天综合网址| 东京热伊人| 国产成人精品亚洲线观看| 九九热99精品| 桃色激情婷婷伊人网| 综合色激情| Av大香蕉| 婷婷玖玖五月天| 79精品在线视频| 丁香五月综合在线视频| 久久免费精彩视频| 99视频内射三四| 日逼免费视频 | 五月丁香六月停停| 天天草天天爽| 综合久久综合久久| 丁香婷婷激情五月天无毒不卡蜜桃| 深爱激情综合网| Aaa久久| 另类A片| 夜夜噜夜夜奇| 亚洲综合五月天| 亚洲激情六月| 亚洲无码九九| 婷婷伊人久久无码色五月| 国产色网站| 五月伊人视频在线看| 久99综合婷婷| 五月天色色婷婷| 丁香婷婷六月在线资源观看| 中文字幕按摩做爰| 五月婷婷亚洲综合网| 婷婷月综合| 丁香五月天堂亚洲社区| 婷婷网五月| 99热6精品| 综合爱久久| 婷婷色播综合五月| 狠狠色噜噜狠| 婷婷五月综合视频| 五月婷婷亚洲综合在线| 26UUU欧美| www。五月,com| 丁香五月婷婷啪| 九色91视频| 国产黄色av| 五月天激情婷婷小说| 久久久久9999| 99成人精品| 99在线观看| www..999热久| 91九色精品熟女内射| 欧美婷婷丁香五月| WWW99热| 狠狠久综合| 天天高潮夜夜爽| 欧美熟女视频 色婷婷| 精品无码av丁香五月激情| 亚洲成人免费在线| 热久久77777| 激情六月婷婷| 激情五月天网页| 国产成人精品亚洲线观看| 亚洲婷婷月丁香五月| 五月丁香六月激情在线| 天天天天天色| 99人人看| 久久久999精品| 久草 天堂| 久久综合丁香| 99在线观看视频精品| 97人妻碰碰中文无码久热丝袜| 丁香五月婷婷久久综合激情网 | 丁香婷婷色五月| 五月丁香婷婷网网网网| 婷婷中文字幕网站| 99超级碰碰| 强伦轩人妻一区二区电影| 九月av| 婷婷情色五月天| 青青草原亚洲天堂| 亚洲狠狠婷婷综合久久久| 精品夜夜澡人妻无码AV| 播五月丁香三月婷婷| 大香蕉久久草| 1024在线一区| 色情五月天丁香社区| 热久国产| 99久久婷婷国产综合精品电影| 婷婷开心久久| 婷色人人狠| 日韩在线看AV| se99视频| 激情五月天在线视频| 综合五月丁香六月婷婷| 风流少妇A片一区二区蜜桃| 99精品爱| 五月婷婷六月丁香免费| 热久久婷婷| 亚洲成人AV在线观看| 日韩无码一区二区三区四区| 丁香五月综合久久综合| 色135综合网| 激情五月天小说| 成人电影在线免费试看| 色操综合| 国产XXXX搡XXXXX搡麻豆| 激情综合五月色丁香婷婷| www.久9| 六月天婷婷| 婷婷六月花| 五月丁香六月成人| www色哟哟| 伊人五月天在线| 色99欧洲色19| 婷婷丁香五月天色区| 人妻操日日| 色情五月婷婷| 91久操| 五月天啪啪| 色狠狠狠干| 色婷婷亚洲综合av| 人妻熟女一区二区AV| 久久久久久人妻| www.五月激情.com| 婷婷四月 成人 狠狠干| 激情色播| 色999;丁香五月| 丁香婷婷综合影院| 91久久久久久久久久18| 色狠狠综合入口| 狠狠狠狠狠干| 99性爱| 色色色在线观看| 日韩精品视频中文字幕| ..真实国产乱子伦对白在线_欧| 99干日本| 99久久婷婷五月综合| 无码婷婷五月天| 午夜婷婷丁香| 《诡秘之主》在线观看| 91在线日| 激情五月天婷婷图| 秋霞电影一级黄| 97操碰碰无码视频| 91要啪| 91热手机在线| 99噜噜噜| 五月色丁香| 97碰成超视频免费视频| 色噜久| 亞洲自怕| 丁香婷婷五月天成人| 日本精品人妻无码77777| 亚洲激情久久| 国外亚洲成AV人片在线观看 | 91久久18| 国产综合久久久777777| 狠狠色丁香婷婷久久综合| 亚洲成人av在线观看| 9+1视频网址| 台湾无码A片一区二区| 亚洲在线成人| 高清视频一区| 天天婷婷天天| 99综合激情久久精品久久| 五月色丁香国产在线视频| 再次出发二| 丁香五月自拍| 欧美激情综合色丁香婷婷五月天| 婷婷五月av| 亚洲第一第二网站| 婷婷丁香五月麻豆| 亚洲乱码日产精品BD在线观看| 99热精品在线观看| 国av网| 变态另类色图| 丁香婷婷基地| 99亚洲大片精品永久在线观看| 色情播放| 婷婷五月天视频亚洲| 丁香五月Av| 六月婷婷五月丁香| 五月天成人免费视频| 99国产精品白浆在线观看免费| 成人做爰A片免费看网站找不到了| 久热久| 少妇人妻人伦A片| 色香蕉精品五夜婷| 天堂色色色| 亚洲不卡| 五月丁香综合激情| 四色五月婷婷| 五月丁香六月综合情在线观看| 婷婷美女精品视频| 美国十月色婷婷在线观看| 日韩AV片| 91人妻人人操| 91viP在线看| 热的国产,热的综合,热的有码| sewuyue第四色| 66精品成人免费网站在线观看| 婷婷六月啪啪| www.99热| www.久久99热地址发布| 日日干夜夜撸夜夜骑| 99久久大片| 伊人久久大香线蕉av最新| 操一区| 99re久热| 色天天久婷婷| 欧美精品999| 99在线精品免费视频| .肏屄视频一区二区| 午夜成人AV在线| 五月婷婷六月爱| 婷婷丁香五月网| 色婷婷激情| 7777久久亚洲中文字幕| 安息电影在线观看完整版| 丁香五月综合在线视频| 另类少妇人与禽zOZZ0性伦| 大香蕉九九操| 五月天黄色激情小说| 久久久27操| 免看黄大片AA | 五月丁香婷婷激情影院欧美| 26uuu91| 国产激情久久久| 日韩欧美四五区| 深情五月天| 俺去也综合| 开心五月婷婷综合在线精品素人| WWW.桔色成人.COM| 国产午夜精品AV一区二区麻豆| 日韩国产在线免费观看| 丁香五月冃欧美| 五月丁香综合啪啪| 色婷婷五月天中文字幕| 在线成人网址| 超碰电影在线播放| 丁香婷婷六月| 激情久久综合网| 99亚洲大片精品永久在线观看 | 在线亚洲综合网| 婷婷综合激情五月中文字幕| 久久婷婷五月| 九九热只有这里精品| 欧美色频| 任你擦免费视频| 色狠狠综合入口| 日韩黄在免| 婷婷五月花免费视频在线| 九热精品| 五月丁香 啪啪| 五月丁香婷婷免费视频| 777久久久| 影音先锋人妻出差| 精品自拍99| 51精品国自产在线| 亚洲激情无码久久| 久久久久亚洲AV综合| 无码地址| www.狠狠| 五月天激情中文字幕| 久久草大香蕉| 天天操,天天插| 亚洲第一成人无码A片| 婷婷丁香五月av| 九九精品热| 超碰精品在线| 亚洲乱码日产精品BD| 激情五月天啪啪视频| 国产精品色| 99九九精品| 婷婷五月天成人网站| 久久精品一区二区三区四区| 天天拍久久| 九九婷| 婷婷五月免费在线| 高清av在线国产| 欧美日韩AAAA| 日韩操逼大片| 欧美色五月| 色婷丨日丨天丨综合久久| 免费观看全黄做爰的视频| 东北婷婷五月天| 琪琪色五月婷婷老师| 日日夜夜天天爽| 操日本色| www.91久久| 婷婷色无码| 色日本颜射| 天天天天色天天天天天干| 99玖玖视频| 午夜成人综合| 99区视频| 久久99免费视屏| 五月丁香好婷婷A片网| 超碰免费人人| 亚洲岛国电影| 99视频精品| 婷婷五月天,影院| 最熟少妇乱码| 婷婷五月天激情文学| 亚洲综合丁香五月| 91久久综合亚洲噜噜成人在线| 色五月天在线观看| 久狠日av| 婷婷丁香五月av| 日碰日| 激情久久久久久久久久| 婷婷精品在线| 玖玖综合色| 日韩一区二区A片免费观看| 五月婷婷在线综合| 婷婷五月丁香六月伊人网| 婷婷五月综合色小姐小说| 亚洲AV中文在线| 五月丁香久久激情网| 大香蕉欧美在线| 五月婷婷啪啪| 久久99久久99精品免观看粉嫩| 天天噜天天爱| 婷婷午夜精品久久久| 国产99久久久国产精品免费看| 99精品在线| 五月开心六月婷婷在线播放网站| 激情九月天天天天婷婷| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 久久天堂网| 综合欧美五月婷婷| 欧美成人精品A片免费一区99| 九九热精品6| 五月丁香六月婷婷综合在线| 久久久27操| 超碰成人黄色网| 99精色| 丁香五月婷综合网| 影音先锋 91工厂| 九九色图| 日韩av在线免费观看| 99在线精品免费视频| 五月激情网站| www.色婷婷| 一级A片天天操夜夜操| 99热精品在线| 欧美综合五月丁香六月婷| 色婷婷播放| 欧洲电影在线观看免费版英语版 | 综合99久久天天综合| 婷婷五月天电影在线| 色婷婷婷av| 九九久久五月天| 超碰爱爱爱| 最新婷婷五月丁香| 天堂久热| 久久久亚洲精品一区二区三区浴池 | 婷婷激情区| 久九色| 91在线视频综合| 色亭亭丁香五月天| 日韩精品一曲二曲三曲四曲五曲| 久久五月天激情| 国产毛多水多女人A片| 91综合在线| 人人干99| 一起草性爱不卡视频| 亚韩在线视频| 五月丁香狠狠爱| av在线观看网站| 日本色色网站| 久久婷婷五月丁香网| 成人丁香五月天Av| 久久99操| 可以免费观看的AV| 丰满少妇乱A片无码| 午夜不卡久久精品无码免费| 激情内射人妻1区2区3区| 噼里啪啦完整版中文在线观看| 日本九九九九| 大香蕉久久视频久久视频| av高清无码| av中文字幕免费观看| 成人草榴视频| 人碰91| 综合网啪| 久久天天天| a色色色色色| 六月丁香视频网站| 天天免费日日夜夜夜夜| 天天操婷婷| 日本婷婷在线| 亚洲无码99| 成人免费黄色短视频| 午夜丁香久久久久久| 色婷婷另类| 人人操人人爽成人AV| 婷婷精品在线| 天天天天天色| 五月丁香激情综合网| 碰97久久| 少妇人妻人伦A片| 九热av| 婷婷五月综合社区| 午夜性爱影视一区77| 五月婷婷久草在线视频综合| 婷婷99视频精品| 99色色网| 99五月婷| 97婷婷丁香五月天激情图片| 九九亚洲| 一本色道久久88综合日韩精品| 99在线看片| 色停停香蕉视频| 五月天婷婷爱丁香中文字幕| 激情六月天| 日日爽夜夜爽| 婷婷五月天中文字幕| 思恩热国产视频右线观看| 日日夜夜噜噜爽爽| 丁香五月成人社区| 9 1 A v久久久| 久思思久视频| 激情丁香五月婷婷| 国产在线网| 伊人狠狠丁香婷婷综合尤物| 亭亭五月激情亚洲在线| 在线播放成人网站| 婷婷色五月天色色| 五月天婷婷丁香蜜桃91| 操一区| 91女人18毛片水多国产| 激情婷婷五六月天| 97色色色色色| 9婷婷内射| 五月丁香婷婷六月天| 无码动漫av| 五月天天丁香婷婷| 亚洲 精品 综合 精品| 啪啪色区| Www.久久| 婷婷四色五月| 婷婷五月天av| 日本九九九九| 99热e| 91日婷婷在线| 五月开心激情网| 激情丁香五月| 久久久精品视频79| 色停停香蕉视频| 九九九九无码| 五月婷婷六月开心| 嫩草免费视频| 人人看人人草人人摸| 婷婷五月天激情网| 大香蕉伊人久久| 99热资源在线| 99久久五月天| 久久婷婷五月天蜜桃| 色婷婷六月| www.伊人天堂偷偷婷婷| 久久香蕉网| 玖热精品综合视频| 91蜜桃婷婷狠狠久久综合9色| 99色五月| 激情五月丁香社区| 色五月成人| 日韩在线视频网站| 久久久宗合| 婷婷色在线视频| 国产精品岛国片在线观看免费| 五月天激情社区| 97超碰,人人舔,人人操,人人摸 | 六月婷婷久久| 五月婷婷狠狠干| 色玖玖综合| 97人妻碰碰碰久久久久-最近国语高清| 五月丁香欧美在线| 五月婷婷丁香五月| 狠狠色大香蕉| 综合色播| 国产亚洲精品AAAAAAA片| 丁香五月综合激情久久潮喷| www.超碰| 婷婷丁香人妻久久在线观看| 亚洲人成播放网站| 伊人激情影院| 婷婷综合色色| 丁香六月婷婷久久综合| 五月婷婷自拍视频| www一起操在线观看| 国产毛片精品一区二区色欲黄A片| 99久久97久久欧美综合网| AV成人在线播放| 久久久久婷婷| 欧美激情综合五月色丁香| 噜噜噜噜在线| 中文字幕av亚洲| 色婷五月天| 99热免费精品热久久66| 九九成人电影婷婷| 亚洲免费观看高清完整版AV线| 在线观看的av| 色爽干| 精品久久久人妻| 秋霞A V毛片| 九九人人操| 天天天摸夜夜夜玩| 久热中文字幕| 乱乱av| 99热亚洲| 激情婷婷人妻| 激情中文在线| .精品久久久麻豆国产精品| 天天爽天天做| 五月丁香综合| 亚洲图色五月天| 婷婷综合色图| 五月香六月婷| 丁香五月亚洲激情婷婷射| 国产婷婷婷| 色色五月婷婷久久| 六月丁香婷婷开心综合基地| 亚洲激情综| 国产高潮A片羞羞视频涩涩| 五月婷婷丁香俺日污视频| 超碰在线99| 激情综合文学| h在线看免费版在线看| 丁香婷婷六月在线资源观看| 成人看片网站| 99ri视频在线观看| 中文字幕日产A片在线看| 热99在线| 这里只有精品99www| 欧美日本黄色| 99在线免费视频播放| 亚洲国产网站| 国产一区二区三区影院| 日本久久人人| 丁香五月婷婷色情综合| 成人欧美一区二区三区在线观看| 五月色丁香| 日韩99无码| 婷婷天堂站| 九月婷婷激情| 五月激情六月宗合| 色婷婷狠狠色| 五月天另类综合网| 日本综合久| 久久综合婷婷五月| 日韩婷久| 丁香九月激情在线视频| 精品亚洲国产成AV人片传媒| 丁香九月激情| 五月丁香精品| h亚洲| 六月婷婷久久| 色欲资源网| 南京搡BBBB搡BBBB| 亚洲婷婷丁香五月在线| 九月婷婷综合| 超碰成人在线观看| 色综合丁香婷婷| 婷婷五月综合网激情| 中国无码av| 少妇高潮A片无套内谢麻豆传| 久热婷婷| 精品久久99| 综合色五月| 色综合久久88色综合天天看| 五月婷婷激情综合av| 99热这里全是精品| 五月天综合在线观看| 丁香五月欧美激情| 色丁香影院| 九九色视频| 色丁香六月| 亚洲aV写真天天综合网久久| 婷婷五月天堂一本在线| 激情文学五月丁香六月婷婷| 色五月婷婷五月天激情综合| 狠狠草狠狠草| 99热这里| 伊人干综合| 久久九九99| 狠狠色狠狠操| 五月丁香啪| 国产黄大片在线观看画质优化| 欧美私人家庭影院| 久久5 9视频免费观看| www.ywav| 五月婷久久草| 91啪啪视频| 五月丁香日本片| 夜夜撸日日操| 操操碰| 亚洲深喉aV| 五月丁香婷婷狠狠操| 亚洲成人中文字幕| 无码人妻电影| 激情的五月| 激情五月婷在线精品| 婷婷五月av| www.精品99| 久久久久婷婷| 人人操婷婷| 激情啪啪五月| 99超在线| 玖玖精品视频| 欧美日韩成人| 伊人丁香在线| 国产操B视频| 99综合色色色| 五月激情综合深爱| 亚洲色图五月丁香| 思思热在线| 综合激情九月婷婷,激情综合婷婷中文字| 男人的天堂97| 色五月丁香总合网| 丁香色五月婷婷| 我爱大香蕉| 99精彩视频网站在线| 日本人妻操| 丁香五月天婷婷在线视频| 婷婷五月天性| 欧美性爱五月天| 久久久久久五月天| 97在线视频人妻九色| 91啪级电影| 激情綜合網址| 日韩性爱AV| 五月丁香啪综合| 五月丁香六月婷婷玖玖| 久久在这里99| 日韩五月婷婷久久| 亚洲国产精品成人免费一区久久久在线观看AAAA| 婷婷丁香五月久久| 性生活视频98791| 国产AV熟妇人震精品一品二区| 射琪琪| 婷婷五月天99| 99爱这里只有精品免费视频| 中文字幕天天干| 热99视频精品| 玖玖综合网| 天天久久婷婷| 五月天社区| 777久久久| 26uuu国产精品| 亚洲精品视频在线播放| 丁香五月婷婷激情中文| 色欲五月天| 日韩啪啪网| 99精品高潮| 婷婷丁香五月天中文字幕| 狠狠干五月天| 午夜激情综合| 亚洲综合五月天| 五月天婷婷狂暴白浆| 婷婷在线观看五月天在线视频| 五月综合久久| 婷婷97C| 五月丁香啪啪啪啪| 色色色99| 亚洲一个色| YJLZZJLZZ亚洲乱熟无码| 亚洲韩国日产综合AV| 26uuu亚洲色| 91啪啪视频| www99热| 97视频久久| 99九九热视频| 极品人妻VideOssS人妻| 国产性爱色| 丁香五月激情综合啪啪| 丁香婷婷激情网站| 五月丁香婷中文字幕 | 婷婷五月天色丁香| 久久这里只有精品热在99| 91AV婷婷| 99视频久久| 影视av久久久噜噜噜噜噜三级| 久久九九色| 欧美日本高清视频99| 激情内射p| Y11111111111少妇电影院| 色五月婷婷天天操夜夜操| 国产精品天天狠天天看| 亚洲人妻一区二区 | 成熟妇人A片免费看网站| 日韩一区二区在线播放| 精品人妻伦九区久久AAA片| 侠女刀之记忆电影在线看免费| 婷婷另类小说| 桃色伊人在线| 激情六月五月婷婷综合网| 五月天婷婷色色| 欧美天天干五月丁香| 亚洲激情综合| 思思热在线视频99| 五月丁香综合久久夜夜| www.激情五月| 激情黄色小说色五月| 丁香婷婷色五月| 亚洲色色爱| 日本操天堂| 婷婷丁香五月亚洲| 五月天婷婷爱| 婷婷五月天影院| 五月天婷婷丁香视频| 色九四色| 亚洲婷婷久久综合| 五月丁香婷婷爱激情综合网| 国产69久久久欧美黑人A片| 婷婷五月天a| 丁香五婷| 激情综合五月天| 久久在线人妻| 色婷婷AⅤ| 97色碰| 最新五月天婷婷影| 亚洲色综久久五月| 日本色婷婷| 丁香六月天堂| 9久精品视频| 成人做爰黄A片免费看直播室男男| 天天谢天天操| 久久99久久99久久99人受| 99国产精品白浆在线观看免费| 99re鈥哸鈥唙| 六月丁香激情综合网| 久久人人添人人爽添人人片αV| 天天色天天日天天舔| 五月天日日操夜夜操| 久久加勤综合| 综合色色网| www国产亚洲色婷婷com| w婷婷五月婷婷w| 天海翼中文字幕高| 亚洲天堂爱爱| 婷婷五月天电影在线| 97干视频| 七七久久婷婷| 99热这里| 六月天婷婷| 六月丁香婷婷网| 另类精品视频在线观看| 亚洲成人在线观看av| 五月婷婷色综图片| AV国产有码| 婷婷五月天影院| 色操综合| 无码免费人妻A片AAA毛片西瓜| 国产精品色| 5月丁香六月情| 色五月天激情| 亚洲婷婷丁香五月| 国产精品扒开腿做爽爽爽A片唱戏 亚洲爆乳无码精品AAA片蜜桃 | www.天天干| 天天干肏夜夜| 婷婷欧美激情综合| 偷拍91九色| 五月综合人妻| 欧美日韩成人在线| 99色综合网| 久久人妻久久| 久久久精久人妻| 99精品无码视频| 激情啪啪五月| 免费成片在线观看| 久久婷青青草原| 极品少妇高潮啪啪AV无码| 婷婷久久99| 五月天国产| 久久久久久五月天| 婷婷永久在线| 色欲婷婷夜夜| 天天久久人人| www.色五月.com| 九月色婷婷综合| 变态另类色图| 欧美五月婷婷综合| 婷婷色影音天| 欧美日本韩国亚洲| 欧美日韩成人在线| 五月色丁香| 丁香五月婷婷影院| 另类图片天天影视在线观看| 五月天婷婷伊人| 99热66| 色屌丝中文字幕| 人人爱国产| 五月婷婷性| 久久人妻高清中文| 精品皮股午夜AV| 天天 青草 丝袜制服 在线| 99超在线| 五月丁香六月婷婷亚洲激情综合| 亚洲 日韩色色| 激情q青青草在线婷婷| 天天操夜夜爽天天操| 丁香五月婷婷激情小说| 五月天丁香六月综合| 丁香婷婷久久 | 久色婷婷200| 五月六月伦理| 婷婷色五月婷| 丁香蜜臀黄色婷婷五月天| www,色婷婷| 91九色国产| 婷婷五月情| 五月天开心网| 国产黄色在线| 色婷婷啪啪综合网| 久人操| 亚洲AV成人在线| 开心五月天私房婷婷| 久久小视频免费| 开心五月深爱五月婷| 久久久人妻门| 五月天播播| 色伊人婷婷| 91热爆在线| 五月婷婷影视| 大香蕉欧美在线| 99re热在线视频| 美女丁香五月天| 五月天婷爱综合| 婷婷五月丁香综合激情| 99福利导航| 开心五月婷婷| 91av视频| 狠狠干综合网| 色综合久久五月| 色五月视频,小说| 丁香婷婷六月| 色婷婷电影网| 婷色综合| 97超碰综合| 五月丁香欧美综合免费视频| 五月天伊人网| 天天综合色| 久久电影五月天丁香电影| 激情文学第四色婷婷丁香五月| 激情深爱五月婷婷| 亚洲经典小视频| 亚洲综合在线播放| 亚洲日韩一页精品发布| 玖玖五月丁香| 婷婷区日本| 五月天亚洲综合网| 丁香五月影院| 超碰97色| 美女五月天婷婷| www,天天干| 五月婷在线| 伊人五月天久久| WWW夜夜| 无码色色色| 五月丁香婷婷综合| 9久久AV| 色五月五月天| 亚洲精品国产成人AV在线| 一本色综合色| 九九99久久| 99热这里有精力| 狠狠狠狠狠| 欧美日韩国产一区二区| 色综合久久伊伊婷婷五月| 色欲婷婷五月天丁香| 香蕉人妻AV久久久久天天| 九九综合色综合| 婷婷六月天亚州| 婷婷社区五月天| 色欲婷婷五月天丁香| 久久人妻情侣| 久久伊人五月天| 日韩无码性爱| 五月天伊人手机在线播放AV| www色五月| 亚洲超级碰| 这里只有精品在线看| 久久婷婷色| 伦乱天堂| 六月丁香五月婷婷| 丁香五月伊人| 五月丁香在线国产 | 色欲五月丁香| 99视频久久免费视频| 色婷婷97| 综合色色综合| 五月婷婷婷婷网| 91无码一区人妻A片蜜| 五月激情五月丁香| 欧美内射AA| 91丁香五月| 婷婷五月天伊人| 96精品国产综合久久久久久| 丁香五月激情澎湃一区| 久久久久人妻| 日韩五月婷婷| 日韩啪啪网| 97碰碰视频在线观看| 五月丁香六月婷| 天堂久久大香蕉| 99成人精品视频| 淫视馆av三区| 五月草影视| 伊人大香蕉爱聚| 丁香婷婷成人在线播放| 97五月婷| 深爱五月最新网址| 婷婷不卡基地| 天堂草在线看www| 五月色婷婷夜色| 婷婷精品综合| 欧美三级大片AA在线看| 激情五月天伊人av| 97AV人人插人人操| 婷婷亚洲综合| 久久Xx| 操碰99| 婷婷啪啪| 五月丁香啪啪| 无码天天操| 日本视频不卡123区| 五月婷在线色视频| 国产一级黄色影片,| 六月丁香成人网| 97操男人的天堂| 欧洲色| 大香蕉99热| 夜夜谢天天干| 天天操天天爽天天爱| 丁香五月婷婷天激情| 天天撸天天干天天插| 亚州激情九月| 色综合久久综合中文综合网| 日韩一级片| 亚洲人妻AV| 色噜噜在线| 免费啪啪啪网站| 99噜噜| 夜夜爽天天| 万月丁香狠狠爱| 色五婷婷在线视频| 大香蕉九九| 中文中文在线| 另类小说激情五月天| 丁香色成人| 91欧美| 久久机热这里只有精品| 狠狠爱夜夜| 激情五月天色色网| 99热这里只有精品一区| 九九综舍久久| 国产日比| 狠狠色综合网站久久久久| 1024手机在线观看看片_日韩精品| 99爱在线视频| 久久久久久丁香五月| 丁香六月婷婷综合啪啪| 久色| 开心激情播播五月天| 婷婷六月视频| 99热久久这里只有精品2010| 白天AV月月| 婷婷五月天毛片| 日韩无码专区| 五月天.com| 亚洲国产婷婷色五月| 五月婷婷伊| 日韩九区| 五月丁香亭亭天天舔| 超碰在线9| 五月天婷a在线| PORNY九色9l自拍视频成人| 97色五月天| 日本欧美啪啪| 天天日综合| 欧美婷婷成人| 99久久99久久综合| 少妇人妻丰满做爰XXX| 狠狠干在线| 思思热99er在线视频| 9久热在线视频| 天天干天干| 视色综合| 婷婷激情性爱| 婷婷综合婷婷| 五月丁香啪啪综合| 日日干综合| 婷婷网影院| 在线理论片| 婷婷玖玖五月天| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 自拍视频在线观看9| 激情婷婷五月天| 伊久久婷婷| 夜夜综合色| 色五月婷婷五月久久| 国产67194| 亚洲99在线| 久草免费福利视频| 国产精品涩涩涩视频网站| 色婷婷97| 99精品视频在线观看| 激情色情五月天| 天天噜天天爱| 婷婷五月天最新综合你懂的| 超碰不卡在线| 综合久久首页| 丁香婷婷激情网站| 亚洲亚洲人成综合网络| 久草五月天| 综激情网| 九九热re99re6在线精品| 深爱激情网五月天| 99色看| 丁香六月色情| 色婷婷在线视频久| 婷婷五月天激情网址| 婷婷五月天激情网| 97性视频| 亚洲狠狠婷婷| 99日在线观看视频| AV大片在线观看| 色情激情五月婷婷| 99热超碰人| www,99视频| www.丁香黄色五月天人与| 性欧美大战久久久久久久83| 免费看欧美成人A片无码| www.色综合| 日韩成人综合网| 色99视频| 亚洲色久| 国产精品久久久久久久久久久久| 99免费视频| 国产做爰视频免费播放| 开心婷婷五月| 曰韩少妇内射免费播放| 国产AV一区二区三区日韩| CHINESE熟女老女人HD视频| 综合婷婷| 欧美成人一区二区三区在线视频 | 国产美女精品| 色亚洲婷婷| 爱婷婷久久视频| 天天狠狠色综合| 操操操AV| 十一月婷婷激情四射| 91视频综合网| 久久婷婷五月天懂色| 99精品综合视频| 欧美肉大捧一进一出免费视频| 亚洲妇女熟BBW| 极骚大香蕉伊人| 亚洲视频久久| 97干在线观看视频| 色10月婷婷视频| 五月婷婷开心激情六月蜜桃| m色激情网| 五月丁香综合激情| a在线观看| 91九色网| 九九久久9 9在线观看| 99资源在线| 婷婷色五月丁香六月欧美啪| 久热免费视频| 玖玖婷婷色五月| 久久久久久欧美精品se一二三四| 中文字幕黄色片| 四川女人毛多水多A片| 99热伊人综合| 日韩超碰在线| 久热这里这里有精品| 激情五月色综合国产精品| 五月丁香婷婷潮喷中文字幕| 婷婷五月天成人网| 日韩AAAAA| 丁香婷婷欧美综合| 婷婷综合一二三| 天天五月丁香五月| 99性感视频| 日熟女| 99操逼| 丁香五月天婷婷大香蕉| 亚韩在线视频| 森林影视大全,最好看的2019年视频 | 久久精品国产精品| 综合五月丁香97| 人人爽人人射-美女久久久久久久久久-成人AV | 婷婷五月天成人网站| 亚洲成人av在线| 五月天激情国产综合婷婷婷| se婷97| 天天草人人摸| 婷婷五月色情天| 六月婷婷五月丁香| 亚洲天堂有码| 色婷丁香五月| 在线综合网| 九九热精品视频在线观看| 亚洲欧洲一二| 久久这有这里精品| 99热免费| 精品人妻午夜一区二区三区四区 | 亚洲综合草草| 97好吊操| 国产午夜一区二区三区| 婷婷五月精品| 开心久久xxx色| 天天舔天天摸| 国产AV熟妇人震精品一品二区| 超碰二区| 99久久久| 欧美大香蕉视频| 国产美女最新VA在线免费观看| 成人在线不卡| 熟女国产在线一区二区三区四区| 99在线观看视频精品| 综合激情五月婷婷| 1024AV视频| 99热20| 久久HD| 日韩免费99| 亚洲色色精品| 九九综合色| 欧美在线操| 五月丁香六月婷婷姐| 超碰人人摸人人操| 激情综合5月| 中文字幕AV在线| 99热一本久道| 久99热| 超碰97在线操| 狠狠色五月激情| 色婷婷狠狠18禁| 超级碰碰碰碰视频| 99久久玖玖| 999热视频精品99免费在线| 99小精品| 人人摸人人干| 99热在线观看| 欧美天堂久久| 丁香五月电影院在线观看| 婷婷瑟瑟五月天| 日99网站| 五月丁香婷婷国产精品综合| 五月丁香综合| 99热综合在线| 五月婷婷六月丁香| 玖玖综合网| 色玖玖综合网| 综合99综合久久久久久久| 欧美激情五月天| 亚洲AVDVD| 九九热最新| 色婷婷文字幕| 五月丁香成人小说| 热99久| 欧美日韩成人高清在线| 九九性爱网| 五月婷婷五月天| 99热国产婷婷| 婷婷综合一二三| 欧美三级黄色片久久| 丁香婷婷色色| av在线资源| 九九色婷婷| 五月色无码|