亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

Linux下工業(yè)相機(jī)圖像采集:從UVC到SDK的完整實(shí)踐指南

Linux下工業(yè)相機(jī)圖像采集:從UVC到SDK的完整實(shí)踐指南 1. 拿到相機(jī)別急著寫代碼先確認(rèn)它的“身份”再談?wù){(diào)用方案我最早在 Linux 上調(diào)邁德威視相機(jī)時吃過一次虧拿到的是同一批 USB 接口的工業(yè)相機(jī)按供應(yīng)商文檔裝好 SDK寫了一個標(biāo)準(zhǔn)的 OpenCVVideoCapture(0)采集程序結(jié)果有的相機(jī)能出圖有的相機(jī)打開后全黑還有一臺干脆在/dev/video0下都找不到設(shè)備節(jié)點(diǎn)。后來才發(fā)現(xiàn)問題根本不在于代碼而在于我一開始就沒分清這臺相機(jī)到底是以 UVC 標(biāo)準(zhǔn)設(shè)備暴露給系統(tǒng)還是必須走廠商私有協(xié)議。如果你現(xiàn)在正在做類似的項(xiàng)目先別打開編輯器花十分鐘把相機(jī)的“身份”摸清楚。這個動作能給你省下后面一整天的排錯時間。1.1 接口類型決定了你要走哪條技術(shù)路線邁德威視的相機(jī)覆蓋了 USB 2.0、USB 3.0、GigE 網(wǎng)口等幾種常見工業(yè)相機(jī)形態(tài)。接口類型直接決定了操作系統(tǒng)能不能把它當(dāng)成“標(biāo)準(zhǔn)攝像頭”來識別走 UVC 協(xié)議的 USB 相機(jī)Linux 內(nèi)核會通過uvcvideo驅(qū)動自動識別系統(tǒng)里會出現(xiàn)/dev/videoX設(shè)備節(jié)點(diǎn)OpenCV 可以直接通過 V4L2 后端訪問。走私有協(xié)議或 USB3 Vision 協(xié)議的相機(jī)內(nèi)核不一定能識別成標(biāo)準(zhǔn)攝像頭必須安裝廠商 SDK通過 SDK 里的庫去枚舉和取流。GigE 接口的相機(jī)本質(zhì)上完全不依賴/dev/videoX它是在網(wǎng)卡上跑的 GigE Vision 協(xié)議OpenCV 原生不支持必須借助 SDK 或第三方 GigE Vision 庫。很多第一次接觸工業(yè)相機(jī)的人會把“USB 接口 標(biāo)準(zhǔn)攝像頭”畫等號這是最容易翻車的認(rèn)知偏差。1.2 用三條命令快速判斷設(shè)備類型在 Linux 下判斷相機(jī)是不是被內(nèi)核識別為標(biāo)準(zhǔn)攝像頭最直接的辦法就是看設(shè)備節(jié)點(diǎn)枚舉情況。下面這三條命令是我每次接手新相機(jī)時的固定起手式lsusb dmesg | grep -i usb | tail -30 v4l2-ctl --list-deviceslsusb能看到 USB 總線上的廠商 ID 和產(chǎn)品 ID。邁德威視的 USB 相機(jī)通常會出現(xiàn)自己的 VID/PID。如果這條命令里能看到設(shè)備但v4l2-ctl --list-devices里沒有對應(yīng)名字基本可以判斷相機(jī)不是標(biāo)準(zhǔn) UVC 設(shè)備或者當(dāng)前固件沒有開啟 UVC 兼容模式。dmesg是用來確認(rèn)內(nèi)核驅(qū)動有沒有成功匹配。如果日志里出現(xiàn)uvcvideo: Found UVC 1.00 device這類信息說明系統(tǒng)已經(jīng)把它當(dāng) UVC 設(shè)備處理了。如果只看到New USB device found但沒有 uvcvideo 的加載記錄那大概率要走 SDK。v4l2-ctl需要額外安裝Ubuntu/Debian 下執(zhí)行sudo apt install v4l-utils。這個工具不僅能列設(shè)備還能直接查詢相機(jī)的分辨率、像素格式、幀率范圍非常關(guān)鍵。對于已經(jīng)在跑 OpenCV 項(xiàng)目的老手這套命令也照樣常用。1.3 網(wǎng)口相機(jī)先解決 IP 規(guī)劃再談?wù){(diào)用GigE 邁德威視相機(jī)是純網(wǎng)口相機(jī)沒有/dev/videoX節(jié)點(diǎn)。它靠網(wǎng)卡通信第一步不是寫代碼而是把網(wǎng)絡(luò)層打通。一般 GigE 相機(jī)出廠 IP 可能是192.168.1.x段你的電腦網(wǎng)卡需要配置成同一網(wǎng)段才能發(fā)現(xiàn)它。工業(yè)相機(jī)通常推薦用靜態(tài) IP不要依賴 DHCP。我個人的習(xí)慣是給相機(jī)單獨(dú)用一塊網(wǎng)卡或者至少單獨(dú)一個網(wǎng)段避免跟辦公網(wǎng)絡(luò)混在一起。常用命令如下sudo ip addr add 192.168.1.100/24 dev eth0 sudo ip link set eth0 up ping 192.168.1.2假如相機(jī) IP 是192.168.1.2能 ping 通則說明二層三層都通了后面才能進(jìn)入 SDK 枚舉環(huán)節(jié)。這里要注意部分 GigE 相機(jī)的默認(rèn) IP 并不是192.168.1.2具體要看說明書或 SDK 自帶的搜索工具。實(shí)在不確定的時候可以用arp-scan掃一下網(wǎng)段內(nèi)的設(shè)備找到相機(jī) MAC 對應(yīng)的 IP。1.4 同一臺相機(jī)的“雙模式”問題更隱蔽的情況是同型號的邁德威視 USB 相機(jī)可能同時支持 UVC 模式和私有 SDK 模式通過廠商工具或相機(jī)內(nèi)部配置切換。比如默認(rèn)固件是私有協(xié)議OpenCV 打不開但用廠商配置工具切到 UVC 模式后video0就出現(xiàn)了。所以如果你在/dev/videoX里沒看到設(shè)備不要急著定義“必須用 SDK”先到廠商工具里翻一遍相機(jī)設(shè)置看看有沒有 UVC 開關(guān)。反過來也一樣如果 OpenCV 能打開但很多高級特性比如硬件觸發(fā)、精準(zhǔn)曝光控制拿不到看看是不是因?yàn)槟阏茉?UVC 兼容模式下需要切回 SDK 原生模式才能解鎖更完整的寄存器控制。2. 環(huán)境準(zhǔn)備把 OpenCV、SDK 和權(quán)限一次配齊調(diào)用工業(yè)相機(jī)本質(zhì)上是在跟硬件打交道。Linux 下的硬件訪問權(quán)限、庫依賴、編譯鏈接這些環(huán)節(jié)任何一個沒弄好后面都會變成玄學(xué)問題。我見過太多人卡在Could not open video device上結(jié)果只是當(dāng)前用戶沒有/dev/videoX的訪問權(quán)限。2.1 OpenCVapt 安裝還是源碼編譯對于大多數(shù)調(diào)用相機(jī)的項(xiàng)目我建議直接用發(fā)行版自帶的 OpenCV。Ubuntu/Debian 系統(tǒng)上執(zhí)行sudo apt update sudo apt install build-essential cmake git libopencv-dev v4l-utils這樣裝完C 工程里find_package(OpenCV REQUIRED)就能直接用Python 環(huán)境則用pip install opencv-python即可。那什么時候需要源碼編譯 OpenCV如果你的項(xiàng)目要改到 OpenCV 內(nèi)部代碼或者需要 OpenCV 的contrib模塊和特定第三方庫深度綁定又或者你用的 Ubuntu 版本太老導(dǎo)致 apt 倉庫里的 OpenCV 版本過低——這些情況才值得自己編。否則源碼編譯費(fèi)時費(fèi)力對“調(diào)用相機(jī)”這個目標(biāo)來說收益很低。給一個版本判斷命令pkg-config --modversion opencv42.2 邁德威視 Linux SDK 的典型目錄結(jié)構(gòu)邁德威視官方會提供 Linux 版 SDK解壓之后一般會看到這些目錄include/ // 頭文件比如 camera_api.h lib/ // 動態(tài)庫比如 libmv_camera.so bin/ // 演示程序和工具 doc/ // 開發(fā)文檔和示例拿到 SDK 后先把include和lib放到項(xiàng)目里或者設(shè)置環(huán)境變量。我個人建議不用系統(tǒng)全局安裝直接在項(xiàng)目里引用好處是換電腦、升級 SDK 時不會污染系統(tǒng)目錄。如果 SDK 里的動態(tài)庫沒有自動進(jìn)入系統(tǒng)鏈接器搜索路徑運(yùn)行程序時可能會報cannot open shared object file。這時有兩種解法sudo ldconfig /path/to/sdk/lib或者在運(yùn)行程序前設(shè)置export LD_LIBRARY_PATH/path/to/sdk/lib:$LD_LIBRARY_PATH這兩招都處理不了再檢查庫文件本身是不是被strip過或者跟當(dāng)前系統(tǒng) glibc 版本不匹配。2.3 用 udev 規(guī)則繞開煩人的權(quán)限問題Linux 下訪問攝像頭設(shè)備經(jīng)常遇到Permission denied。你當(dāng)然可以每次都用sudo運(yùn)行程序但這在真實(shí)項(xiàng)目里非常不優(yōu)雅尤其是程序要開機(jī)自啟、對接服務(wù)端時總不能把整個服務(wù)都跑在 root 下。正確做法是寫 udev 規(guī)則把相機(jī)設(shè)備權(quán)限放開給指定用戶或用戶組。先查看相機(jī)的 VID/PIDlsusb假設(shè)輸出里有ID 2bdf:0302這樣的內(nèi)容其中2bdf是廠商 ID0302是產(chǎn)品 ID。然后新建 udev 規(guī)則文件sudo nano /etc/udev/rules.d/99-mindvision.rules內(nèi)容如下SUBSYSTEMusb, ATTR{idVendor}2bdf, MODE0666, GROUPvideo保存后重載規(guī)則sudo udevadm control --reload-rules sudo udevadm trigger注意2bdf是示例值實(shí)際以你lsusb看到的廠商 ID 為準(zhǔn)。如果 VID 有多種可以寫多行或者去掉ATTR{idVendor}限定改為按產(chǎn)品名匹配。還可以把當(dāng)前用戶加入video組sudo usermod -aG video $USER改完記得重新登錄一下組權(quán)限才會生效。2.4 CMake 工程模板項(xiàng)目的CMakeLists.txt我推薦寫成這樣兼容 UVC 路線和 SDK 路線cmake_minimum_required(VERSION 3.10) project(mindvision_capture LANGUAGES CXX) find_package(OpenCV REQUIRED) include_directories( ${CMAKE_SOURCE_DIR}/include ) link_directories( ${CMAKE_SOURCE_DIR}/lib ) add_executable(capture src/main.cpp) target_link_libraries(capture ${OpenCV_LIBS} mv_camera pthread )pthread是必須加的。工業(yè)相機(jī) SDK 在 Linux 下幾乎都會用多線程做圖像回調(diào)不加 pthread 鏈接 90% 會報undefined reference to pthread_*而這類報錯往往要到鏈接階段才出現(xiàn)新手經(jīng)常摸不著頭腦。3. UVC 模式用 OpenCV VideoCapture 直接取圖的完整路徑如果你的相機(jī)確認(rèn)走 UVC 模式那最舒服的調(diào)用方式就是把 OpenCV 當(dāng)主力。不需要處理 SDK 初始化、回調(diào)概念、驅(qū)動兼容性幾十行代碼就能出圖。3.1 先用 v4l2-ctl 把相機(jī)的“底細(xì)”摸清寫代碼前先花兩分鐘看設(shè)備支持什么格式。這個動作能避免很多運(yùn)行時踩坑。v4l2-ctl --list-devices v4l2-ctl -d /dev/video0 --list-formats-ext假設(shè)輸出里顯示支持YUYV和MJPG并且列出了對應(yīng)分辨率下的幀率那你心里就有底了。要注意的是MJPG是硬件編碼的 MJPEG 流OpenCV 解碼后開銷比 YUYV 小但同樣分辨率下幀率上限可能不同。再看當(dāng)前格式v4l2-ctl -d /dev/video0 --get-fmt-video如果格式不是你想要的可以先在代碼里手動設(shè)置不依賴默認(rèn)值。3.2 最小可用的 OpenCV 采集代碼下面這段就是我認(rèn)為“能用且不該再簡化”的版本#include opencv2/opencv.hpp #include iostream int main() { cv::VideoCapture cap(0, cv::CAP_V4L2); if (!cap.isOpened()) { std::cerr failed to open camera std::endl; return -1; } cap.set(cv::CAP_PROP_FOURCC, cv::VideoWriter::fourcc(M, J, P, G)); cap.set(cv::CAP_PROP_FRAME_WIDTH, 1280); cap.set(cv::CAP_PROP_FRAME_HEIGHT, 1024); cap.set(cv::CAP_PROP_FPS, 30); cv::Mat frame; while (true) { cap frame; if (frame.empty()) continue; cv::imshow(mindvision uvc, frame); if (cv::waitKey(1) q) break; } cap.release(); return 0; }第一行里我顯式傳了cv::CAP_V4L2后端。OpenCV 的VideoCapture(0)雖然會自動選擇后端但多攝像頭環(huán)境里默認(rèn)后端可能會按-1的模糊邏輯選錯設(shè)備。顯式指定后端能減少不確定性。cap.set(cv::CAP_PROP_FOURCC, ...)要放在設(shè)置分辨率之前這一點(diǎn)很多人不知道。某些相機(jī)在換像素格式時會重置寬高和幀率所以正確的設(shè)置順序是“像素格式優(yōu)先分辨率其次幀率最后”。3.3 像素格式、分辨率、幀率之間如何匹配工業(yè)相機(jī)不像消費(fèi)級網(wǎng)絡(luò)攝像頭那樣“隨便給一組參數(shù)就一定能跑”。UVC 模式下像素格式、分辨率、幀率三者之間存在一個類似能力矩陣的關(guān)系。比如 1280x1024 下支持 30fps但切到 1920x1200 后幀率可能掉到 15fps或者 1280x1024 只支持 YUYV不支持 MJPG。遇到幀率上不去或被強(qiáng)制降低時先問自己三個問題當(dāng)前分辨率是否超出了 USB 帶寬承載范圍當(dāng)前像素格式在目標(biāo)幀率下是否被v4l2-ctl確認(rèn)支持是否被應(yīng)用的自動白平衡、自動曝光拖慢了排查時直接用v4l2-ctl -d /dev/video0 --list-formats-ext對照查詢這種“查表”比猜代碼靠譜得多。3.4 為什么cap.open(0)能通但畫面全黑這是 UVC 相機(jī)調(diào)用里最典型的現(xiàn)象isOpened()返回true但frame.empty()偶爾為真或者圖像整個是黑的。最常見的原因是自動曝光和自動增益沒有啟動。很多工業(yè)相機(jī)上電后默認(rèn)處于手動曝光且曝光值很小或者默認(rèn)增益為零在暗光環(huán)境下畫面就是純黑的。解決辦法是打開自動曝光或者手動設(shè)置一個合理曝光值cap.set(cv::CAP_PROP_AUTO_EXPOSURE, 0.75); // V4L2 中 0.75 表示開啟自動曝光 cap.set(cv::CAP_PROP_EXPOSURE, 100); // 若關(guān)閉自動則設(shè)置具體曝光值注意這里0.75是 V4L2 驅(qū)動約定里的數(shù)值不是百分比。而且不同驅(qū)動實(shí)現(xiàn)可能不完全一致如果這個方式不生效就用v4l2-ctl --set-ctrl exposure_auto1或v4l2-ctl --set-ctrl exposure_absolute100來確認(rèn)控制項(xiàng)是否存在。另一個容易被忽略的原因是觸發(fā)模式?jīng)]有關(guān)閉。有些工業(yè)相機(jī)固件默認(rèn)處于“等待硬觸發(fā)”狀態(tài)導(dǎo)致不發(fā)送連續(xù)圖像。你在 UVC 模式下雖然能打開設(shè)備但沒有外部觸發(fā)信號自然拿不到幀。這種情況下去廠商配置工具里把觸發(fā)模式切回連續(xù)采集模式問題立刻消失。4. 非 UVC 與高性能場景官方 SDK 調(diào)用與 OpenCV Mat 零拷貝封裝UVC 模式勝在簡單但它的能力上限也很明顯無法精確控制曝光時間到微秒級、無法使用硬件觸發(fā)、多相機(jī)同時取流時帶寬調(diào)度不受控、部分非標(biāo)準(zhǔn)像素格式拿不到。當(dāng)項(xiàng)目要求進(jìn)入更專業(yè)的機(jī)器視覺流程時切換到官方 SDK 是繞不開的一步。4.1 為什么 UVC 模式不是萬能的先看幾個真實(shí)場景視覺定位要求相機(jī)幀率穩(wěn)定在 60fps且每幀曝光時間必須精確鎖定不能有自動調(diào)整。產(chǎn)線上用 PLC 發(fā)送硬件觸發(fā)信號相機(jī)只有在觸發(fā)到達(dá)時才采集一幀。同時接 4 臺相機(jī)要求同步曝光UVC 模式很難保證時間對齊。這些場景下廠商 SDK 的價值不在于“能取圖”而在于把相機(jī)的底層能力完整暴露出來觸發(fā)模式、GPIO 輸入輸出、精確像素時鐘、多相機(jī)管理、幀元數(shù)據(jù)里附帶時間戳等。這才是工業(yè)相機(jī)和普通攝像頭拉開差距的地方。4.2 SDK 初始化到抓幀的完整流程下面以邁德威視常見的 SDK 風(fēng)格為例給出一個最小流程。真正寫代碼時函數(shù)名以你下載的頭文件為準(zhǔn)但流程是高度一致的#include camera_api.h #include opencv2/opencv.hpp int main() { // 1. 初始化 SDK MV_CC_Initialize(); // 2. 枚舉設(shè)備 MV_CC_DEVICE_INFO_LIST deviceList; int ret MV_CC_EnumDevices(MV_USB_DEVICE | MV_GIGE_DEVICE, deviceList); if (ret ! 0 || deviceList.nDeviceNum 0) { std::cerr no device found std::endl; return -1; } // 3. 創(chuàng)建句柄并打開設(shè)備 MV_CC_HANDLE handle nullptr; MV_CC_CreateHandle(handle, deviceList.pDeviceInfo[0]); MV_CC_OpenDevice(handle); // 4. 設(shè)置像素格式和采集參數(shù) MV_CC_SetPixelFormat(handle, BGR8); // 5. 開始取流 MV_CC_StartGrabbing(handle); // 6. 獲取一幀 MV_FRAME_OUT frameInfo {0}; ret MV_CC_GetImageBuffer(handle, frameInfo, 1000); if (ret 0) { std::cout width frameInfo.stFrameInfo.nWidth height frameInfo.stFrameInfo.nHeight std::endl; MV_CC_FreeImageBuffer(handle, frameInfo); } // 7. 停止并釋放 MV_CC_StopGrabbing(handle); MV_CC_CloseDevice(handle); MV_CC_DestroyHandle(handle); MV_CC_Finalize(); return 0; }這套流程里最容易踩坑的是“幀緩存沒釋放”。GetImageBuffer拿到的緩沖區(qū)是屬于 SDK 內(nèi)部的用完之后必須調(diào)FreeImageBuffer歸還否則內(nèi)存池很快被耗盡程序跑幾分鐘后就會開始 “No memory left for frame”。4.3 把 SDK 幀緩沖封裝成 OpenCV Mat避免不必要的內(nèi)存拷貝工業(yè)相機(jī) SDK 回傳的圖像數(shù)據(jù)直接算內(nèi)存里的字節(jié)流。OpenCV 的 Mat 可以通過預(yù)分配內(nèi)存包裝外部數(shù)據(jù)做到零拷貝。只要相機(jī)像素格式是 BGR8就可以這樣MV_FRAME_OUT frameInfo {0}; MV_CC_GetImageBuffer(handle, frameInfo, 1000); cv::Mat raw( frameInfo.stFrameInfo.nHeight, frameInfo.stFrameInfo.nWidth, CV_8UC3, frameInfo.pBufAddr ); // 此時 raw 和 SDK 內(nèi)部緩沖共享同一塊內(nèi)存不要 resize raw cv::Mat img raw.clone(); // 如果需要長期保存則 clone MV_CC_FreeImageBuffer(handle, frameInfo);整段代碼的精髓在于創(chuàng)建 Mat 時傳frameInfo.pBufAddr不會發(fā)生多余復(fù)制。用clone()保存長期使用的幀是為了避免 SDK 緩沖區(qū)被釋放后raw變成懸垂指針。如果只是做實(shí)時顯示直接使用raw即可但要保證在當(dāng)前循環(huán)迭代內(nèi)用掉。不同像素格式對應(yīng)的 Mat 類型不同要特別小心相機(jī)輸出格式OpenCV Mat 類型備注Mono8CV_8UC1可直接顯示為灰度圖BGR8CV_8UC3可直接送入 OpenCV 彩色算法RGB8CV_8UC3需要cvtColor轉(zhuǎn)成 BGRBayerRG8CV_8UC1需要cvtColor用 Bayer 轉(zhuǎn)換YUV422需要驅(qū)動/SDK轉(zhuǎn)換不建議手寫轉(zhuǎn)換容易出格式問題很多新手在 BayerRG8 下直接當(dāng)成彩圖用結(jié)果畫面呈紫色、綠色條紋或棋盤格狀。這類問題不是“相機(jī)壞了”而是“像素格式解釋錯了”。4.4 GigE 相機(jī)的發(fā)現(xiàn)、連接與多相機(jī)管理GigE 相機(jī)通過網(wǎng)口通信SDK 的枚舉過程會掃描網(wǎng)段內(nèi)的 GigE Vision 設(shè)備。第一步還是網(wǎng)絡(luò)層通暢前面已經(jīng)提到過靜態(tài) IP 的配置。之后在代碼里枚舉設(shè)備時過濾MV_GIGE_DEVICE然后打開對應(yīng)索引即可。多臺 GigE 相機(jī)同時工作時不僅要配置好各自 IP還要注意網(wǎng)卡緩沖區(qū)和巨型幀設(shè)置??梢园丫W(wǎng)卡 MTU 提高到 9000如果相機(jī)和交換機(jī)都支持 jumbo frame能明顯減少同一幀被拆成多個 UDP 包的頻率降低丟包概率。另外多個相機(jī)最好分別綁定不同的網(wǎng)卡或者走交換機(jī)的不同端口避免一臺相機(jī)占滿帶寬導(dǎo)致另一臺掉幀。5. 圖像卡頓、花屏、CPU 拉滿的排錯鏈路調(diào)用相機(jī)只是第一步真正讓項(xiàng)目上線跑穩(wěn)才是難點(diǎn)。下面這幾個問題是工業(yè)相機(jī)項(xiàng)目里出現(xiàn)頻率最高的我按“現(xiàn)象 → 原因 → 排查 → 解決”的路徑寫出來你可以直接拿去對照。5.1 花屏和顏色錯亂先懷疑像素格式再懷疑傳輸丟包花屏最常見的原因是像素格式設(shè)置與數(shù)據(jù)解釋不一致。比如相機(jī)實(shí)際輸出 BayerRG8你卻在代碼里把它當(dāng)成 BGR8 處理或者相機(jī)輸出 RGGB 順序但代碼按 BGGR 順序做 Bayer 轉(zhuǎn)換。排查順序是這樣# 1. 確認(rèn)相機(jī)當(dāng)前輸出格式 v4l2-ctl -d /dev/video0 --get-fmt-video # 2. 查看 SDK 枚舉到的像素格式列表 # 在代碼里遍歷并打印 nSupportedPixelFormatsGigE 相機(jī)花屏還有一種更隱蔽的可能丟包。GigE Vision 的 UDP 傳輸若交換機(jī)緩沖不夠或網(wǎng)卡未開啟巨型幀某些幀數(shù)據(jù)不完整圖像上就會呈現(xiàn)條紋狀花屏。用 SDK 自帶的丟包統(tǒng)計函數(shù)看nFrameLost和丟包率是否持續(xù)增長。如果是丟包問題調(diào)大接收緩沖區(qū)大小同時確認(rèn)網(wǎng)線是千兆及以上。5.2 USB 帶寬與幀緩沖設(shè)置卡頓和掉幀的根源USB 3.0 相機(jī)在理論上帶寬很大但實(shí)際可用帶寬會受主板 USB 控制器、線纜長度、屏蔽質(zhì)量影響。出現(xiàn)持續(xù)掉幀時第一步不是改代碼而是先降分辨率或降幀率看問題是否緩解。如果項(xiàng)目對幀率有硬性要求優(yōu)化順序是把像素格式從 YUYV 換成 MJPG減少傳輸數(shù)據(jù)量。把 USB 相機(jī)插在機(jī)箱背板的原生 USB 3.0 口上避免前置面板轉(zhuǎn)接線。換一根質(zhì)量過關(guān)、長度不超過 3 米的 USB 3.0 線。OpenCV 里把緩沖區(qū)壓縮到最小降低延遲cap.set(cv::CAP_PROP_BUFFERSIZE, 1);緩沖區(qū)大小的設(shè)置也很講究。工業(yè)場景里緩沖區(qū)太大反而增加延遲緩沖區(qū)太小則容易出現(xiàn)幀丟失。BUFFERSIZE1可以保證拿到的是最新幀適合實(shí)時定位類項(xiàng)目如果設(shè)備本身幀率遠(yuǎn)高于處理速度用較大的緩沖會平滑一些但延遲會上去。5.3 CPU 持續(xù)拉滿顯示和編碼是主要開銷有些項(xiàng)目跑起來后 CPU 占用率居高不下你看代碼里也就cap frame加一個imshow似乎沒什么負(fù)載。但實(shí)際上 OpenCV 的imshow和waitKey在高幀率下會反復(fù)進(jìn)行窗口刷新CPU 開銷很大。更離譜的是有人每幀都做cv::resize、cv::imwrite然后這種代碼直接丟到生產(chǎn)環(huán)境跑。緩解策略不需要實(shí)時預(yù)覽時把imshow去掉只做采集和處理。需要預(yù)覽時降低預(yù)覽頻率比如每 5 幀只顯示 1 幀。保存視頻時不要一張張imwrite使用VideoWriter輸出 H264 或 H265壓縮和編碼在 CPU 上做也比逐幀寫磁盤高效得多。如果仍然不夠考慮把VideoCapture放到獨(dú)立線程用雙緩沖隊列傳給處理線程避免imshow阻塞采集線程。說實(shí)在的很多“相機(jī)掉幀”問題其實(shí)不是相機(jī)掉幀而是主線程處理不過來導(dǎo)致采集循環(huán)被卡住。5.4 用連續(xù)幀監(jiān)控做壓力測試檢查相機(jī)是否穩(wěn)定我習(xí)慣寫一個小工具連續(xù)采集 1000 幀統(tǒng)計耗時和空幀數(shù)并打印幀號和時間戳。這樣可以快速暴露大概率問題。int count 0; cv::Mat frame; auto start std::chrono::steady_clock::now(); while (count 1000) { cap frame; if (frame.empty()) { std::cout empty frame at count count std::endl; continue; } count; } auto end std::chrono::steady_clock::now(); double elapsed std::chrono::durationdouble(end - start).count(); std::cout fps count / elapsed std::endl;運(yùn)行后如果毫無輸出說明幀率和穩(wěn)定性都正常。如果頻繁輸出empty frame說明相機(jī)沒有穩(wěn)定出幀如果 fps 明顯低于設(shè)定幀率則需要去檢查帶寬、像素格式、CPU 占用這些局部問題。6. 項(xiàng)目比“能取圖”更值錢的細(xì)節(jié)代碼能跑通只是開始。真實(shí)項(xiàng)目里設(shè)備隨時可能被拔掉、程序要跑一整天甚至一個月、多個相機(jī)的觸發(fā)要保持同步。這些邊緣問題才是決定項(xiàng)目交付質(zhì)量的關(guān)鍵。6.1 熱插拔和設(shè)備節(jié)點(diǎn)漂移的應(yīng)對USB 相機(jī)最麻煩的問題之一就是/dev/videoX的編號不固定。今天插上去是video0明天可能變成video2。硬件上順序一變程序里的固定編號就失效了。解決辦法有幾個層次最簡單的是用v4l2-ctl --list-devices手動核對但這不是自動化方案。按設(shè)備路徑或序列號綁定設(shè)備節(jié)點(diǎn)寫 udev 規(guī)則時用ATTR{serial}區(qū)分。程序啟動時遍歷所有/dev/video*逐個cap.open()再通過讀取相機(jī)信息判斷是否是目標(biāo)設(shè)備。用廠商 SDK 的序列號訪問接口這是最穩(wěn)的做法因?yàn)樾蛄刑柺怯布ㄒ粯?biāo)識不隨插入順序變化。代碼里的健壯性也很重要。cap frame失敗時不要立刻崩潰而應(yīng)該嘗試重新打開設(shè)備并給出明確的錯誤提示。長時間無人值守運(yùn)行時我一般會在isOpened()為假時做 3 次重連間隔 2 秒三次都失敗才退出。6.2 長時間運(yùn)行的內(nèi)存增長與句柄泄漏工業(yè)視覺項(xiàng)目經(jīng)常是 7x24 小時運(yùn)行。如果程序存在內(nèi)存泄漏兩三天后內(nèi)存占用就會從 200MB 漲到 2GB最后被 OOM Killer 干掉。最常見的泄漏點(diǎn)SDK 獲取幀后忘記FreeImageBuffer。OpenCV Mat 被clone()后存入長期容器但容器不斷增長且沒有清理策略。每次循環(huán)里用VideoWriter打開文件但沒及時release。相機(jī)對象重連時沒有正確釋放舊句柄。我的做法是每跑一萬幀打印一次/proc/self/status里的 VmRSS 數(shù)值記錄是否持續(xù)增長。一旦發(fā)現(xiàn)漲優(yōu)先檢查最近改動的代碼里有沒有“獲取資源但未釋放”的分支。另外不要用cv::imwrite在循環(huán)里存圖進(jìn)行長期運(yùn)行測試那會占用巨量磁盤 IO并且掩蓋真正的性能問題。6.3 觸發(fā)模式下的幀同步注意事項(xiàng)多相機(jī)視覺系統(tǒng)里“同步”是一個非常核心的需求。如果每個相機(jī)各自自由運(yùn)行那么同一時刻拍到的畫面在時間上會有偏差這對運(yùn)動物體的三維重建、尺寸測量都是致命的。工業(yè)相機(jī)支持兩種常用同步思路硬件觸發(fā)同步一個外部信號源輸出脈沖同時接到所有相機(jī)的觸發(fā)輸入端。每來一個脈沖所有相機(jī)同時曝光。這種方式精度最高適合高速運(yùn)動的場景。軟件觸發(fā)同步通過 SDK 向每臺相機(jī)發(fā)送軟件觸發(fā)命令雖然時間上不如硬件觸發(fā)精準(zhǔn)但勝在不需要額外接線。用 SDK 做軟件觸發(fā)時流程大概是// 設(shè)置觸發(fā)模式為 software MV_CC_SetEnumValueByString(handle, TriggerMode, On); MV_CC_SetEnumValueByString(handle, TriggerSource, Software); // 每次需要圖像時發(fā)送一次觸發(fā)信號 MV_CC_SetCommandValue(handle, TriggerSoftware); // 等待圖像回調(diào) MV_CC_GetImageBuffer(handle, frameInfo, 1000);需要注意觸發(fā)模式下GetImageBuffer的超時時間要設(shè)得比觸發(fā)間隔大一些否則程序會誤判為“采集超時”。如果在實(shí)際項(xiàng)目里發(fā)現(xiàn)圖像偶爾偏暗或偏亮可以優(yōu)先檢查觸發(fā)信號是否穩(wěn)定其次檢查曝光時間是否和觸發(fā)周期匹配。6.4 最后一點(diǎn)個人經(jīng)驗(yàn)說實(shí)話我在 Linux 下調(diào)工業(yè)相機(jī)覺得最值錢的不是某個神奇函數(shù)而是一套穩(wěn)定的檢查習(xí)慣拿到相機(jī)先確認(rèn)設(shè)備類型跑通前先用工具驗(yàn)證參數(shù)出問題先從硬件鏈路查再懷疑代碼邏輯。這個順序能幫你過濾掉 80% 的無關(guān)變量。每次新接手一臺相機(jī)我都會把上面這些檢查流程完整跑一遍確認(rèn)沒問題后才開始寫業(yè)務(wù)代碼這比任何提速技巧都管用。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日韩中文字幕av在线播放| 素颜老阿姨乱情色| 中文日韩欧美熟| 亚洲码在线中文在线观看| 日亚韩精品视频二区三| 91麻豆一二三区| 日韩欧美亚欧在线视频| 第45页一区二区| 亚洲本色精品一区二区久久| 97久精品| 亚洲春色一区二区三区| 亚洲天堂另类小说男人| 亚洲影院无码在线| 91+欧美| 久久超碰日韩精品| 午夜精品久久久久久久99热影院 | 亚州色图第三区| 亚洲深夜福利| 亚洲精品丝袜-不卡成人免费……| 9久9久| 激情小说成人日本无码一| 神马久久中文字幕| 啪啪视频亚洲第一| 蜜桃狠狠色伊人亚洲综合 | 2023天天操夜夜操| 国内操逼视频二区| www.91理论| 欧美大干日韩| 日韩精品啪啪啪| 天天干人妇| 天天操天天干美女网址导航| www.久久99| 欧美78P| 亚洲另类久操网| 97在线视频免费观看| 亚洲中文字幕乱码无码一区二区| 六月激情网| 亚洲欧美另类激情小说| A一级色女| 久久老子无码午夜伦不卡| 日本久久久久久久久久| av中文字幕在线熟女| 青春草莓视频在线观看网址| 色色色色色色色色综合| 色九月婷婷| 99999re| 97日视频| 中文字幕制服欧美久久一区| 日人妻视频91| 天天操天天舔| 中文字幕黄色一起草| 欧美日韩夜夜| 高清在线偷拍自拍视频| 五月天婷婷在线看| 加勒比综合| 狠插 制服 自拍| 色一色综合网| 另类图片欧美激情综合| 大粗鳼巴久久久久| 国产精品久久久久久久黄无码| 素人伊尹大香蕉免费下载视频| 91精品黄在线观看| 国产精品日本无码A片| 中文字幕欧美日本乱码一线二线 | 91丨熟女丨丰满熟女| 大香蕉综合网| AV男人天堂网| 日韩精品操少妇| 婷婷激情综合网| 日逼视频日本| 天天看精品动漫视频一区| 中文字幕人乱码中文字的预防方法| 91超级碰碰| 久久无码一区二区二三区性色| 午夜毛片高清免费不卡| 色av中文字| 丝袜剧情| 色翁荡息又大又硬又粗又爽| 嗯嗯不要视频| 啊啊啊啊啊舒服| 日本免费不卡二区| 男人的天堂2010| 人人操人人摸人| 97在线视频观看网站| 中文字幕第2页| 97超碰人操| 插老姨肥穴| 91综合天天| 中文字幕女同在线| 蜜臀亚洲中文| 九九天堂| 精品一国2| 9999伦理视频| 国产福利夜| 床上啊啊啊一区二区三区| 久久久久久亚洲中文| 91色色网站| 欧美操逼录像国产黄色国产| 亚洲性高潮| 大逼色网站| 在线色资源| 91超碰在线播放| 啊啊啊啊操死我了| 日日橹狠狠爱欧美超碰| 欧美欲色| 校园春色欧美色图| 欧洲中文字幕| 欧美精品 - 91爱爱| 啊啊啊好湿久久| 久操99| 久都青青视频| 91欧美偷拍| 麻豆天美制片厂网站视频| 久热伊人99re| 97超碰天天爱天天爱| 国产精品肉丝自拍| 欧美成熟性爱精品| 婷婷六月色| 屌逼传媒| 亚州中文字幕超碰97| 欧美亚州综合图片| avav青青草久久夜| 啊啊啊草死我| 久久天天艹| 国模无码一区二区三区在线| www色色色com| 欧美日韩精品国产91| 色色综合97| 男女香蕉一区二区| 国产精品爆乳懂色蜜乳| 天天看天天在线精品| 久久鲁干| 一二三啪啪专区| 日韩av色图综合| 2019亚洲男人天堂| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 啊啊啊啊啊啊啊啊要喷了| 夜夜无码| 日本操逼aaaaa| 被男人添B超爽视频| 强奸a片网| 91老熟女逼| 日韩无码AB| 人妻精品一区二区三区| 亚洲av热热色| AV中文字幕三四五| 国产亚洲深夜激情| 色色国产| 98福利在线视频| 欧美性爱一区二区三区| 黄色免费一级在线毛片| 黄片不用下载在线观看| 精品.99999| 人妻熟妇久草在线| 久久久不卡| 成人无码在线超碰网| 精品国产丝袜一区二区三区乱码 | 亚洲成人黄色在线观看| 综合自拍| 成人久久精品| 中文字幕一区二区三区50路| 精品国产一区二区三区香蕉欧美| 亚洲AV无码成人精品久久| 图色综合网| 亚洲国内精品成人不卡| 先锋女优在线观看视频| 亚州操逼图| 色爽爽文学| 欧美影音在线| 97久久久久| 成人麻豆av电影网站| 久久性爱大全| 男人久久精品| 精品无码一区二区三区色欲| 很很干很很操| 91天天综合在线观看| 久久大黄片| 一本色道久久综合亚洲二区三区| 13小男生GAY自慰脱裤子| 欧美视频一区二区在线| 天综合中文| 啊啊啊啊,啊啊好多水| 亚洲 暴爽 AV人人爽日日碰| 国产精品色色| 色97综合中文字幕| 男人的天堂午夜av| 国产视频三区四区| 国产强奸乱伦第1页| 欧美日综合| 久热久一区二区三区| 亚洲小说视频| 大香蕉520| 97精品久久久久中文字幕| 久久久97| 国内黄色精品| 四虎午夜影院| 欧美大香蕉卡久久| 大JI巴好深好爽又大又粗视频| 嗯嗯啊啊视频在线看| 91激情国产| 夜夜天天噜狠狠爱2021| 中国小夫妻勾搭露脸淫荡对白| 操东北女人| 日韩有码免费视频| 国模无码人体一区二区三| 中文字幕在线观看丝袜| 亚洲少妇在线观看| 日韩人妻少妇中文字幕| 97亚洲综合影院| 97天天摸天天碰| 久一区久久蜜桃| 亚洲男人天堂Av| 懂色av中文字幕一区二区三区天美 | 麻豆一区二区三区精品| 自拍偷拍草一草| 亚洲日韩青青草色月| 百度百度日本操逼| 白丝jkav| 尤物国产一区在线观看| 精品-91人妻子系列| 日韩天天本| 国产精品制服丝袜清纯唯美| 久久9999 | 另类 日韩 熟女| www.av不卡中文字幕| 亚洲国产麻豆一区二区三区| 992大香蕉| 色蜜AV| 亚洲精品九九九| 久久99999| 精品国产人成在线| 精品熟妇视频一区二区| 色女女女导航| 国产亚洲精品农村妇女| 亚洲麻豆18发?| 亚洲av淫乱| 久久成人东京热人妻| 另类天堂| 亚洲精品免费中文字幕| 9ⅰ久久久天天| 亚洲激情网一二三四区| 国产一进一出视频网站| 夜夜春夜夜操| 亚洲欧美爆| 国产人妖视频一区在线观看| 欧美日韩不卡传媒| 97在线欧洲| 竹菊影视国产一区二区| 神马久久久久久| 九九人妻| 亚洲中文电影| 91久久久久免| 精品高清一区二区三区三州| 麻豆视频一区二区| 东北老女人的激情视频| www.色婷婷.com| 九九热三级片| 久久成人精品| 爱爱动态试试看6 0秒| 欧美大香蕉专区网| 97香蕉网| 麻豆色约约| 国产精品一区二区在钱播放| 久久久久久精品免费看A级| 秋霞午夜成人福利片片| 97操综合| 日韩 欧美 国产 麻豆| 口爆综合网| 亚洲精品国产熟女| 超清中文乱码字幕| 国产精选视频| 日韩av电影网站| 老熟女熟妇| 天天日天天爽| 综合网色| 国产精品激情久久久久久久| 福利视频香蕉免费一区二区在线| 久久久久久人体| 欧美久久久| 欧美久久草熟女| av天堂手机版追回| 黑人狂躁日本妞一区二区三区| 97欧美色综合| 欧美色爱综合| 一区二区三区男人的天堂| 欧美色图下一页| 97综合在线观看| 国产一区二区三区影片| 播播亚洲小说亚洲| 色狠狠 - 百度| www.99中文字幕| 欧美欧美啪啪视频| 亚洲av综合伊人久久| 日韩97P| 一区二区播放| 亚洲 欧美 第一页| 欧美性高潮| 少妇无码999| 91欧美少妇| 美腿丝袜高跟网免费视频免费视频| 国产白嫩精品久久| 亚洲综合码| 国产精品经典一卡久久久| 丝袜六区| 草b在线 | 91人妻爽爽人人做人人澡| 伊人五月天| 日本精品不卡一二三区| 日本操BAV| 国产粉嫩出水在线播放| 国产亚洲精品自在线亚洲情侣| 亚洲欧美综合网| 看一级黄色视频| 中文字幕 国产区| 欧美性爱系列| 97视频网站在线观看| 亚洲免费看片| 美女大乳久久久久久久女人18| 五月天色电影| 欧美日韩国产人人| 亚洲青青草| 欧美日日人人天天| 天天射天天色成人| 粉嫩av一区二区三区天美传媒| 9.1小视频| 我爱操| 人人澡人人干| 岛国A V在线免费看| 日本十八禁免费看污网站| 国产成年女人免费视频播放a| 嗯啊抽插大香蕉网页| av日韩在线观看电影| 9久久精品| 欧美第一页性| 久久大陆| 中文字幕精品码亚洲| 在线97视频| 性色av蜜臀av色欲aV| 欧美日韩操逼嗦吊| 超碰97资源大奶| 亚洲精品国产精品乱码不卡| 欧美日韩小说| 国产日韩无码一区二区三区久久区| 亚洲性爱免费电影| 日本人体九九九九九九| 97精品国产精品免费观看| 亚洲国产福利视频| 日韩成人性日韩成人性爱视频在线免费观看 | 少妇毛片久久| 老司机午夜精品福利视频一区二区| 午夜福利合集| 久久一区二区高清免费| 亚洲一区二区麻豆影院| 九七毛片九九毛片| 3PAV乱伦视频| 熟妇熟女视频一区二区三区| 99蜜月精品久久| 欧洲久久一二线| 亚洲精品a人片在线观看视| 超碰超碰95| 91精品久久久久久久久久| 丝袜美腿91| 九九精品99| 91色综| 久久一区二区加油站| 亚洲欧美日韩激情不卡| 色婷婷九月| 亚洲欧美日产国产91毛片| 男人的天堂99| 国产精品自在线发布| 后入 亚洲 美女 射| 果冻传媒一区二区三区| 天天躁日日躁xxxxx| 欧美精品第3页| 91色综合色| PMv在线观看| 91色综| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 国产又粗又长又大的视频| 尤物黄色在线观看网站| 97色诱| 78久久| 久久黄色视频一区二区三区 | 亚洲强奸乱伦影视网| 人人爱夜夜爱| 黄色免费网| 91在线美女| 精品久久久久久久| 婷色五月天| 亚洲综合嫩| 男人的天堂一区三区| 亚洲天堂女优在线| 又粗又长又大国产不卡| 久久国产视频专区一二三| 啊啊啊啊啊啊啊啊在线观看| 亚洲精品视频二区| 免费视频97| 伊人影院在线理论播放| 亚洲熟伦熟妇AV无码春色| 精品久久久无码| 乱人乱色一区二区三区免费| 六月丁香网| 变态综合色| 日韩婷婷| 麻豆av一区二区| 男人的天堂不卡一区二区| 超碰人人干天天射| 大香蕉免费中文| 人妻丝袜二区| 十八禁网站在线| 免费福利视频中文字幕| 欧美影音在线| 国产一区二区欧美日本| 欧美熟妇精品黑人巨大91| 婷婷综合久久| 起碰97| 欧美白嫩女HD| 大香蕉一区二区在线观看.| 欧美在线 亚洲| 丁香六月东京热| 9美女超碰在线免费观看| 狠狠综合网| 91精品国产91久久青草| 午夜福利在线视频1000| 国产亚洲国产超碰| 91性色| 日韩懂色网| www国产天美久久久| 久射吧| 99热这里| 91丨熟女丨丰满熟女| 中文字幕在线免费观看| 9久久美女首页| 成人乱码一区二区三少妇| 天天干夜夜操一区二区| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 蜜臀99999| 97干在线视频| 精品国模无码| 婷婷五月天色网| 亚洲18禁| 91精品无码人妻系列| 9Ⅰ老熟女| 韩国嫰模上门援交视频| 欧美美女自慰一区二区三区| 家庭乱伦性爱av| 日韩情色一区二区| 97精品久久久久中文字幕| 色色国产| 亚洲国产激情国产av| 国产家庭乱伦表演| 色亚洲欧美| 曰本熟女视频| 欧美.亚洲.另类.丝袜.制服.诱惑| 99e久久国产精品| 九九九久久久W精品| 国产精品视频播放| 色色色色色色色色色色色色色色综合| 国产野战露脸在线播放| 国产熟妇 码视频户外直播| 国产suv精品一区二六| 日日夜夜干| 男男H黄动漫啪啪无遮挡网站| 国产品精品自在在线午夜免费| 97日韩欧美亚洲| 欧美乱妇狂野欧美在线视频| 久久侵犯人妻爽爽爽| 亚洲无码AV九九九| 久操网址| 中文字幕日韩电影人妻| 看免费一级在线播放毛片| 99热伊人| av2014 日韩在线中文字幕| 欧美后入视频| 青青草黑寡妇男人天堂| 久久人妻四季| 蜜臀亚洲中文| 欧美日韩情色一区二区| 看日韩美女二区三区免费操逼视频 | 97碰碰色| 久操免费电影| 欧美成人精品欧美一级乱黄一区二…| 暴力av在线| Julia Annxxxxx| av线电影| 夜夜免费视频| 九九九不卡| 天堂av最新电影网| 欧洲亚洲人妻无码高清久久三区四区| 91天天美女| 丝袜天堂网| 新91视频.cmp| 97资源站国产精品| 99精品九九九九九九| 疯操AV| 99热线麻豆 | 97在线日韩中文字幕| 欧美精品久久| 亚洲亚洲亚洲天堂天堂| 久久久久人| 欧美一级专区免费大片| 青青青草原| 快播电影网日韩新片| 亚洲中字慕不卡| 亚洲综合嫩| 大香蕉99999| 日本乱人伦片中文三区| 午夜a成v人电影| 日韩黄片视频试看| 久久久久亚洲Aⅴ无码| 免费A V在线播放| 99欧美| 麻豆 欧美 日韩| 色狠人在线99| 97jingpin| 日本不卡中文| 高清国产无码av| 日韩人妻制服丝袜av| 福利伊人玖玖国产| 久久综合99| 日本天天吊| 色综合久久夜色精品国产天堂| 久操影视| 精品久久久久久久| WWW操逼| 新婚人妻扶着粗大强行坐下| 色官网在线| 99啪啪视频| 蜜乳av一区二区三区四区不卡| 久久久免费高清中文视频| 综合第一页| ji熟女.com| 久久人人看| 爽爽爽免费视频| 日韩成人人妻网站| 91在线免费精品视频| 色嗨嗨在线| 欧美AB在线观看| 九七人妻在线| 国产精品人妻无码久久久互動交流 | 日韩干B| 亚洲高清91| 免费的黄片有限公司| 黄色高清无码无码破解免费暗网 | 日韩视频啪啪| 日本免费不卡二区| 久久久久久久综合,国产| 日韩亚洲欧美中文字幕| 8050无码八戒| 欧美大香蕉97| 啊啊啊免费| 日本操嫩b网| 欧美精品 - 91爱爱| 熟人人妻少妇精品久久| 欧美天天干| 天美av在线观看| 日韩中文9| 中文字幕奈奈美被公侵犯| 婷婷六月色| 99re在线视频国产| 91性高朝久久久久久久久| 色综合久久久久| 伊人在线大香蕉二。| 乱伦日本中文自拍| 亚洲春色激情小说| 日韩大香蕉AV影片| 午夜精品探花| av橘色网站| 精品人体无圣光凹凸| 久久人妻丝袜一区二区三| 亚洲天堂久| 国产92麻豆天美精品色欲5| 亚洲av热热色| 国产毛片毛片4p懂色| 亚州AV无码国产精品| 天美一二三在线观看Av| 一区在线精品中文字幕| 久久精品欧美一区蜜桃| 绯色一区二区三区不卡少妇 | 欧美成人性爱视频在线播放| 人人爽天天爽| 亚洲欧美另类图片| 婷婷情色综合网| 粉嫩av一区二区三区天美传媒 | 特级特黄一级毛片免费| 97久久超碰国产网站| 97在线免费| 999狠狠综合| 国产精品美女| 精品免费1| 伊人操| caopeng97| 精品国产乱码久久| 96免费视频在线| 色屁屁影院www国产| 熟妇艹鸡八| 性videos欧美熟妇hdx| 天天干天天日天天射黄色片| 天天操人人操狠狠插| 亚洲精品自拍| 亚洲欧洲无码97久久精品| 日韩av电影成人在线| 欧美97视频| 欧美强奸乱| 9997se| 激情综合网激情五月天| 亚洲日本天堂| 性吧在线视频| 五月天婷婷在线看| 啊啊啊不要嗯嗯在线观看| 久久久久久国产精品免费网站| 91男人综合| 天天干天天爽| 51久久夜色精品国产麻豆| 牛牛久久国产精品视频一二三| 影音先锋日本乱伦| 大色网久久| 97超碰国产亚洲精品资源| 天天日天天干天天操| 色999偷自拍拍| 欧美一区二区亚洲天堂| 欧美黑人熟妇精品91| 91偷拍欧美亚洲| 亚洲欧综合另类无码一区| 国产99999久久精品| 色人久久| A片大香蕉在线| 九九亚洲色在线观看| 97自拍视频在线| 国产真乱mangent| 亚洲极品| 啊啊啊不要啊啊受不了了视频在线| 国产麻豆福利av在线播放| 精品人妻一区二区三区不卡断| 97舔舔| 午夜福利精品| 日韩有码 一区二区三区| 久久精品高清无码一区| 国产欧美美女免费观看视频| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 亚洲精品欧洲色| 日本不卡二三区| 欧美精品自慰系列寂寞少妇| 国产在线视频二区| 久午视频| 色眯眯av| 午夜亚洲WWW湿好大| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 偷拍精品一区二区三区| 欧美高潮| 色诱avtt| 玖玖97综合| 色婷婷av在线观看| 中国国产精品一区视频| 欧美一级A一级a爱片久久| 国产和美国毛片| 欧美色五月| 亚洲福利中文字幕在线| 日韩精品一区二区高清| 久久精品国产亚洲av水密被窝| 久久精品99久久久久久| 97爱b| 德国一二三不卡| 久久女婷| 中日高清无码操逼视频| 国产女生在线| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 操逼操操操91| 91人妻中文| 高清国产精品无码| 一本精品日本在线视频精品| 中文字幕欧美日韩三级| 欧美色综合网| 亚洲激情欧美色图| 正宗无毛一线天嫩逼| 嗯嗯啊啊好大好爽| 国产精品网站免费| 97视频7| 五月天春色激情网| 99热精品在线| 久久精品国产精品亚洲艾通辽熟妇| 色一色综合网| 激情无码日韩| 国模无码一区二区三区在线| 亚洲欧美自拍偷拍| 国产对白刺激视频| 精品午夜福利国产一区二区在线观看| 黄色激情电影在线观看| 91久久免费视频互動交流| 亚洲男人综合| 国产在线激情视频| 在线观看色视频| 亚洲一级特黄大片在线播放91| 啪啪AV导航| 精品偷拍13p欧美dodk视频| 国模无码一区二区三区在线| 黄色免费网页无码| 看日韩操逼| 大地资源在线观看中文第二页| 97干在线| 亚殴在线| 91最新综合| 自拍偷拍亚洲熟女妇人精品| 亚洲精品一二区| 国产人妖视频一区在线观看| 亚洲五码一区二区三区| 人人操人人大香蕉| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 91人妻丝袜无码| 午夜福利区| 久日综合网| 超碰 av 女人天堂| 日韩成人人妻网站| 97天天操| 久久精品午夜国产亚洲AV无码| 亚洲一区操| www.91逼逼.com| 全球成人中文在线| 五月综合久久| 欧美日韩黄色片一区二区三区四区人与兽做爱 | 啊啊啊啊好疼| 欧洲亚洲国产综合在线| 国产一区二区av综合| 天堂种子在线www网资源| 情色AV电影| 婷婷久草| 日本506070| 亚洲囯产精品女人久久久| 正在播放国产精品一区| www.婷婷| 亚洲免费97免费| 亚洲色棕合| 超碰97综合| 加勒比在线视频一区二区三区| 91五月天| 99黄页网站| 中文乱码字字幕在线第5页| 国产欧美日韩一区二区三区| 午夜大香蕉| 国模不卡一本二本三电影| 97在线视频免费看| 国产又黄又粗的视频| www.91色| 日韩欧亚中文在线| 俞拍久久国应视频| 亚洲最大AV网| 久久一留热品黄| 美女天天干| 人人摸.人人色| 91精品国产综合久久久蜜臀| 人乳av| 少妇厨房愉情理伦片bd在线观看 | 香蕉人欧美综合| 亚洲情色中文字幕一区| 97蜜桃综合| 东北熟女91| 蜜乳AV一区二区三区四| 九九九综合精品| 久久久久女教师免费一区 | 蜜桃臀av一区二区| 一牛影视成人片免费| 丰满少妇人妻久久久久久| 91精品久久久久| 青娱乐久久艹| 久久久99久9| 鸥美中出| 亚洲高潮少妇| 欧美色图欧美| 精品性爱一区二区| 欧美日韩亚洲国产中文永久天天看| 亚洲欧美国产va在线播放频| 美女刺激久久国产欧美| 97网站在线观看| 亚欧国产无码精品在线| 欧美色自拍| 高清无码在线播放网站| 花野真衣| 好吊色青靑草| 超碰97COm中文| 欧亚免费视频| 啊啊啊水好多| 国产伦精品一区二区三区在线观| 大香蕉之青青草原| 99久久久无码国产精品性啊聊| 69精品在线| 亚州综合色| 性吧在线视频| 国产偷人伦激情在线观看| 国产又粗又又黄又猛| 丝袜 中出 制服 人妻 美腿 中文字幕| 日本日皮视频逼| 色亚洲欧美| 91狠狠综合久久| 亚州欧美在线| 九九热免费国产视频婷婷伊人| 91欧美网| 黄页18禁| 人人人干干人人干| 亚洲AV不卡在线观看尤物| 国产操逼视频在线观看| 97 九色| 女人双腿搬开让男人桶| 超碰综合97在线| 久久色情| 久久久久99999| 亚洲天堂另类小说男人| 日本一区二区三区免费观看| 亚洲限制级| 久久精品三级影视| 97鸡把在线视频| 67914亚洲精品| 国产免费一区2区3区| 亚洲中文字幕日产无码久久| 欧美日韩不卡a片| 综合性视频99| 超碰97欧美在线| 无码操逼视频一下| 午夜毛片高清免费不卡| 狠狠色综合网| 久久 精品| 青青操少妇| 果冻国产精品麻豆成人av| 特色a在线上| 操逼精品视频| 91小视频| 日本国产欧美一区三区二区| 国产亚洲色婷婷99精品91| 乱伦日本色图AⅤ| 激情小说亚洲图片| 亚洲天堂区| 91深夜夜| 久久久78| 夜夜嗨绯色| 色色丁香| 国产人妖的免费的视频| 欧美成人精品一区| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 天天色播| 国产日韩手机视频在线| 久久亚洲一区女同性恋中文字幕| 99999精品视频| 亚洲精品毛片在线观看| 天天射夜夜操| 国产极品美女高潮无套在线观看| 熟女少妇一区二区三区| 小草精彩毛片| 色婷婷综合视频| 日韩无码操逼片| 暴力av在线| 日本啊啊啊啊啊视频| 天堂种子在线www网资源| 久久久久久久精| 久久9久9久99久9久9| 久久香蕉国产线看观看猫咪av| av亚欧| 999国产精品999久久久久久| 人人扣人人操| 九九热免费国产视频婷婷伊人| 无遮挡一级毛片视频免费的| 精品小视频在线| 日本人妻A片成人免费看片| 激情婷婷综合久久| 国产精品97超碰| 97国产色综合| 久久久九九网站| 久久欧美激情| 欧美性天天影视| 日韩成人大片在线观看| 婷婷在线视频在线观看| 野狼福利社区| 竹菊一区二区三区AV线| 夜夜国产一区| 久久精品一区二区三区不卡| 2020中文在线一区二区三区| 一区二区高清视频| 国产97综合| 欧美色图人妻| 人妻社区男人天堂| 97天天爽| 少妇99成人麻豆| 五月婷在线| 亚洲成人性| 成人av影院在线观看| 男人天堂网站| 在线色资源| 9997se| 日本欧美色| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴| 91操人| 日韩人妻免费精品| 黄色人人| 亚洲系列第一页| 亚洲图片日本AⅤ欧美在线| AV中文字幕三四五| 一区二区三区一亚洲中文字幕、综合区灬 | 国产久久天堂资源| 97在线亚洲| 男人的天堂三级| 久久三区四区| 精品美女少妇一区二区| 久久久999国产精品| 日韩精品一区二区人人人| 骚妻少妇精品性色无码四色A V| 另类专区加勒比| 91亚洲黄色网| 久久久青青草| 啊啊啊啊嗯嗯在线久久久| 欧美劲爆第一页| 久久久蜜桃臀无码视频| 校园春色 亚洲| 精品久| 日韩av在线精品观看| 欧洲亚洲国产综合在线| 色综合久久av| 333kkkk·亚洲com久久| 亚洲av强奸乱伦| 丁香五月激情网| 夜夜爽爽爽| 熟妇高潮一区二| 999熟女精品| 玖色av| 91久久| 国产黄色在线播放观看| 中文字幕天堂在线| 中文字幕亚洲热播人妻| 欧美亚洲日本激情在线| 色婷婷激一区二区三区| 中文字幕在线日亚州9| 丁香六月婷| 99re这里只有精品中心播放| 啊啊啊好舒服好爽啊啊啊视频| 久久国模av| 99999国产| 午夜舔阴达高潮视频免费看| 亚欧免费| 日本在线一二| 亚洲少妇色图自慰直播| 蜜臀亚洲综合一二三四区| 国模久久在线| 五月天久久人妻| 翔田千里AⅤHD无码| 男男H黄动漫啪啪无遮挡网站| 中文字幕av色| 男人的亚洲天堂| 色97国产69香蕉| 国产又黄又爽| 一区二区三区四区免费视频| 小草精彩毛片| 丰满人妻一区| 国产超碰在线| 男生女生啊啊啊啊| 俺去啦自拍| 免费视频一二三区| 粉嫩粉嫩一区性色AV片| 欧美亚洲综合色| 91日日夜夜| 9色国产精品一区粉嫩| 人妻人人做人人澡人人爽欧美一区| 偷窥自拍亚洲色图| 视频在线观看青青99国产| 伊人欧美大香蕉视频| 免费观看国产不卡av| 东京热亚洲一区二区| 伊人96在线| 2023天天操夜夜操| 337p大胆噜噜噜噜噜91Av| 色一射色一射| 九九九九九九精品| 91精品国产日韩欧美综合| 九九久久一区二区三区| 久久精品国产97欧美精品亚洲| 国产精品黑人一区二区三区| 久久久人妻| 亚洲AV不卡在线观看| 无码国产Av| av在线人气| 变态综合色| 99热啪啪| 人妻激情在线视频| 亚洲 欧美 偷拍 唯美| 91亚·色| 综合网亚洲在线| 男人的天堂一区三区| 人妻人人澡人人爽人人| 欧美91色| 日本护士高潮| 国产精品视频在线播放| 草莓精品视频在线免费观看| 91久久久久久久久久久| 2026国产精品视频| 在线无码网站| 一区 欧美 日韩 麻豆| 国产午夜精品理论片a大结局| 亚洲精品男人的天堂| 91欧美综合在线| 久久亚洲AV无码专区首页| 久久亚州高清| 欧美日韩啪啪电影| 操死我干死我| 综合色91| 亚洲天堂性爱| 国产精品96| 精品一区96| 中文字幕精品探花视频 | 国产无码精品高清| 国产精品九9| 成人午夜高潮av猛片| 麻豆亚洲Av成人无码一区精品| 欧美性第一页| 天堂日本亚洲欧美| 久久久久久久强迫| 妇女视频网站| 日韩av免费一级电影| 九九自拍伦理| 岛国网址国产 | 五月婷丁香| 欧美熟妇精品黑人巨大91| 97WW精品| а√天堂资源官网在线资源| 亚洲97P| xxxx网站亚洲精品| 看黑丝美女操逼青青网站| 精品中文字幕第一页| 97精品视频网站| 91人妻Pr| …亚洲黄色厕厕女女在线播…| 亚洲一二三精品久久网| 久久久99免费| 激情黄色五月天| 激情五月天视频| 超碰97亚洲| 亚洲少妇激情视频| 国产精品久久久久久久毛片1| 亚洲伊人久久精品影院| 国产女人成人精品视频| 中文字幕国产| 亚洲AV高潮| 无码高清专| 91色交| 第45页一区二区| 加勒比久久综合网高清| 91综合网在线| 亚州成人A√| 每日更新AV| 亚洲影视综合| 麻豆精品三区视频| 99热伊人| 欧美色乱| 98超碰日本| 天天综合网站| 香蕉久久AⅤ...| 国产999精品久久久| 性生活无遮挡纯毛片在线看| 曰韩成人免费视频| 少妇熟女1区2区3区| 九九九草| 色综合色欲色综合色综合色综合| 欧美极品美女aaaaaa级黄片| 伦理日韩国产久久| 国产av白丝| 久久成人午夜精品影院| 亚洲性网| 国产精品国产| 欧美 日韩 国产传媒| 手机看av网站在线看| 凌辱美少妇久久aV| 欧美精品 - 91爱爱| 亚洲中文字幕网| 最好看的中文字幕在线2018| 亚洲色图欧美色18直播在线| 国产乱人妻精品入口| 色999亚洲人成色| 美中日韩无码| 日韩有码中文字幕女同性恋 | 日韩成年人性爱视频| 吊色| 亚洲男人天堂网久久| 久久人妻视频网| 久久久免费的精品| 欧美日韩国产一区二区小黄片大全| 男人的天堂三级| 97天天弄| 亚洲综合另类欧美久久久| 色婷婷网| www.人人cao| 久久精品久久九九精品| 私人尤物在线精品不卡| 风间由美日韩欧美久久| 色天堂在线观看| 久久久久久久少妇| 欧美制服另类丝袜| 五月丁香综合啪啪| 国产精品自产拍在线观看社区| 免费久久一级毛片大黄| 日本操逼视频免费| 五月天婷婷社区| 91热色| 好爽免费视频,| 日本天天吊| 欧美三级一级| 婷婷五月综合在线| 欧美在线播放aaaa| 秋霞蝌科网日本一区| 亚洲欧美在线观看2021| 91午夜无码| 色欲蜜臀AV| 免费啪啪av| 新久久AV| 欧美国产精品| 青青操综合网| 日韩人妻制服丝袜av| 约操熟妇| 精品国产人成在线| 亚洲国产一级精品毛一级精品看免费视频 | 久热免费视频| 啪啪一区| 国产在线76页| 国产精品一二三免费网站| 精品妇女一区二区三区| 亚洲天堂久久| 亚洲色天堂日韩中| 日韩精品 资源| 日本淫色网| 自拍丝袜美腿人妻| 亚洲欧洲久久天堂| 亚洲少妇激情视频| 久久久久久裸体| 好一吊区二区| 欧美色乱| 午夜性生活av免费在线看| 操人人| 岛国色情视频在线观看| 91天堂色男人的天堂| 国产 v乱码一区二| 91 刺激在线| 少妇蜜汁| 亚洲色情在线影视| 久草成人影片| 91春色| 日韩兔费看黄片| 精品人妻中文字幕4399| 黄色免费网页无码| 久久99网站| 国产久久日韩网站导航| 中文幕97| 男人天堂2019| 国产一级高清免费观看| 一本久道在线综合视频| 一个人免费HD91视频| 久久人妻办公室视频| 亚洲天堂东京热| 91精品人妻啪啪间| 中国91AV| 91香蕉视频在线观看免费| 啪一啪免费视频| 97在线国产精品| 操一区| 女优大全 - 91n| 懂色中文一区二区三区| 激情四射五月天|