日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

海康威视工业相机SDK的开发使用笔记

發布時間:2023/12/14 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 海康威视工业相机SDK的开发使用笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

環境說明:Ubuntu16.04
海康威視SDK包:MVS-2.1.0_x86_64_20201228.tar.gz

如若在Windows環境下配合Visual Studio使用請移至
海康威視工業相機SDK二次開發(VS+Opencv+QT+海康SDK+C++)(一)
海康威視工業相機SDK二次開發(VS+Opencv+QT+海康SDK+C++)(二)

記錄自己的學習過程,方便以后查閱,若有錯誤或遺漏,歡迎大佬指正補充。


這里寫目錄標題

  • 1.準備
    • 1.1 相關資料
    • 1.2 Debug常備
    • 1.3 針對錯誤碼的解析
      • MV_E_HANDLE 0x80000000 錯誤或無效的句柄
      • MV_E_SUPPORT 0x80000001 不支持的功能
      • MV_E_BUFOVER 0x80000002 緩存已滿
      • MV_E_CALLORDER 0x80000003 函數調用順序有誤
      • MV_E_PARAMETER 0x80000004 錯誤的參數
      • MV_E_RESOURCE 0x80000006 資源申請失敗
      • MV_E_NODATA 0x80000007 無數據
      • MV_E_NOENOUGH_BUF 0x8000000A 傳入的內存空間不足
      • MV_E_UNKNOW 0x800000FF 未知的錯誤
      • MV_E_GC_GENERIC 0x80000100 通用錯誤
      • MV_E_GC_RANGE 0x80000102 值超出范圍
      • MV_E_GC_ACCESS 0x80000106 節點訪問條件有誤
      • MV_E_GC_TIMEOUT 0x80000107 超時
      • MV_E_ACCESS_DENIED 0x80000203 設備無訪問權限
      • MV_E_NETER 0x80000206 網絡相關錯誤
      • MV_E_IP_CONFLICT 0x80000221 設備IP沖突
      • MV_E_USB_READ 0x80000300 讀USB出錯
      • MV_E_USB_WRITE 0x80000301 寫USB出錯
      • MV_E_USB_DRIVER 0x80000305 驅動不匹配或者未裝驅動
  • 2.通過海康相機SDK熟悉C接口取圖流程和取圖方式
    • 2.1 設備連接接口流程
    • 2.2 相機取圖——主動取流
    • 2.3 設置相機的一些參數
  • 3.將相機抓取到的圖像轉為Mat格式,方便后續使用
  • 4.將Mat格式圖像轉為QImage格式,用于UI界面上控件的顯示

1.準備

??首先是安裝海康威視的MVS軟件,VMware虛擬機中Ubuntu16.04系統下通過MVS運行海康威視工業相機。

1.1 相關資料

  • 工業相機SDK(C)開發指南
    這是最重要的資料,里面有(環境配置:SDK編程環境配置,包括網絡配置、驅動安裝等)、(編程導引:相機連接流程和取圖方式介紹)、相機的常用節點等等。

  • 相機的常用節點查詢
    這部分主要是用于SDK提供API接口中的參數設置,如設置曝光模式、曝光值、增益模式、增益值、外觸發等等。

    根據我實際開發過程中常用的相機節點值如下:
  • CameraParams.h:包含編程需要的所有結構體、宏定義和枚舉量
  • MvCameraControl.h包含所有控制相機的API接口
  • 相關示例程序

1.2 Debug常備

??如果遇到問題,比如相機未正常打開、相機無法取圖等等,及時打印每次調用SDK接口返回的輸出值,對照錯誤碼定義去排查問題(記得將輸出值轉化為十六進制)事半功倍。

??如果函數正常完成而沒有檢測到任何錯誤,則返回值為MV_OK,否則返回錯誤碼 。

1.3 針對錯誤碼的解析

??調試時如果遇到常見的錯誤碼,如0x80000000——錯誤或無效的句柄,很自然的我們就會去排查是不是對于句柄的操作有誤,好歹給了我們一些方向,但有些錯誤碼如0x80000006——資源申請失敗或者通用錯誤這些,僅憑類型信息描述根本無法提供方向去排查,這里列出我網上找到的和我實際遇到的及其解決方法供大家參考。
參考:https://zhuanlan.zhihu.com/p/437976222

MV_E_HANDLE 0x80000000 錯誤或無效的句柄

解析:-2147483648/0x80000000 無效句柄。
常見問題如下
用戶沒有申請句柄,直接調用接口,新手常犯的錯誤,要引導去學習我們接口使用流程。
用戶創建了句柄,但是其他地方銷毀了句柄,用戶沒有注意到,需要仔細排查代碼。

MV_E_SUPPORT 0x80000001 不支持的功能

解析:-2147483647/0x80000001
SDK接口的bayer空域降噪、無損壓縮、色彩矯正等ISP功能,需要配合CS-Pro系列相機支持。
格式轉化時,不同格式的相互轉化,超出了算法能力集,詳情請仔細查閱SDK接口說明。

MV_E_BUFOVER 0x80000002 緩存已滿

解析:-2147483646/0x80000002
常見于gige驅動啟動時報錯,低版本SDK在某些網卡上面易發,驅動啟動失敗后,走socket協議發送接收相機數據,效率低,CPU負載大 推薦使用SDK3.5版本解決此問題。

MV_E_CALLORDER 0x80000003 函數調用順序有誤

解析:-2147483645/0x80000003
sdk接口調用,有一定流程順序,例如getimagebuffer在startgrabing之前調用,就違反了接口流程,就會報錯順序調用錯誤 還比如,沒有調用startgrabing接口,就去調用頻繁調用stopgrabing接口,也會報此錯誤。

MV_E_PARAMETER 0x80000004 錯誤的參數

解析:-2147483644/0x80000004
常見問題: 常見于格式轉化、圖像保存等需要補充數據結構的接口調用,部分參數傳入錯誤,或者沒有傳入,這個時候,要去仔細檢查參數的傳入是否正確。

MV_E_RESOURCE 0x80000006 資源申請失敗

解析:-2147483654/0x80000004
這個問題我在另一臺設備上部署相機服務端時,枚舉相機第一步就報了這個錯誤,最后是安裝了MVS后才得以解決,推測是缺了什么依賴庫,但ldd的時候并未顯示缺失的庫。

2022-9-14記錄:今天又遇到了這個問題,原來是缺了libMVGigEVisionSDK.so.3.1.3.0和libMVGigEVisionSDK.so這兩個庫。猜測海康這里是dlopen的這兩個庫,巨坑!!!通過ldd根本看不出什么錯誤。

MV_E_NODATA 0x80000007 無數據

解析:-2147483641/0x80000007無數據
相機幀率低,用戶調用主動取流接口getimagebuffer/getoneframetimout頻率高于相機出圖頻率,且超時時間短,沒有拿到圖片,此時應該打印相機幀號,如幀號連續則為正常現象。
相機處于觸發模式,沒有觸發信號給到相機,此時,應該排查用戶是否給了軟觸發或者硬觸發信號。
相機停流,此時,建議打開MVS,觀察相機狀態。
耐心尋找規律,看看是否跟packsize、scpd、取流超時時間不合理所致。

MV_E_NOENOUGH_BUF 0x8000000A 傳入的內存空間不足

解析:-2147483638/0x8000000A
1.用戶自行開辟的內存大小,小于當前相機圖像所需要的圖像大小,例如用mono8的圖像大小,接收RGB的圖像。
2.用戶定義的內存大小,中途更換了分辨率更高的相機,導致所需內存較多
3.相機開啟了chunk功能,用戶開辟緩存大小,僅考慮了圖像寬高像素格式,沒有考慮到chunk。
解決方法:
排查內存開辟大小,建議使用相機payloadsize大小
檢查相機圖像格式
關閉相機chunk等功能

MV_E_UNKNOW 0x800000FF 未知的錯誤

解析:-2147483137/0x800000FF GenICam未知錯誤
未知錯誤,形成原因較難分析,建議如下:
更新最新版本的sdk
開啟sdk日志等級,通過日志分析形成原因

MV_E_GC_GENERIC 0x80000100 通用錯誤

解析:-2147483392/0x80000100
通用接口調用,關鍵詞寫錯,例如曝光:ExposureTime,拼寫錯誤就會報錯。
第三方相機鏈接,例如邁德威視相機鏈接MVS,也會報通用錯誤,這是因為邁德威視不是標準的genicam協議的相機導致的。
接口類型用錯,例如曝光時float型節點,我們使用了一個int型的節點接口進行讀寫,訪問,那么也會報通用錯誤。

MV_E_GC_RANGE 0x80000102 值超出范圍

解析:-2147483390/0x80000102
接口傳入的參數值,超出相機接受范圍,例如,曝光存在上下限,圖像寬高存在步進,沒有按照步進進行設置等等。

MV_E_GC_ACCESS 0x80000106 節點訪問條件有誤

解析:-2147483386/0x80000106
常見的問題類型有: 相機節點不存在或者無法訪問,例如,自動曝光,在手動曝光情況下,自動曝光節點會被隱藏,或者其他相機存在這個參數,而使用的相機無此參數,例如線掃相機的行頻參數等等,還比如說部分相機無此功能,例如event參數,部分相機固件暫不支持用戶調用。

MV_E_GC_TIMEOUT 0x80000107 超時

解析:-2147483385/0x80000107
GVCP命名包回復超時,一般出現在網絡環境不好的情況下,此時應該調用接口加大gvcp命令包等待時間(MV_GIGE_GetGvcpTimeout()),持續出現該報錯,應該排查網絡環境問題。

MV_E_ACCESS_DENIED 0x80000203 設備無訪問權限

解析:-2147483133/0x80000203常見問題有:
相機被其他軟件打開占用,關閉其他軟件,檢查設備管理器中,可能存在的殘留進程。
代碼debug下,心跳時間問題,等待60s后,可以重新打開(此問題參考心跳問題解決方法,可縮短打開時間)。
其余問題,例如一上電就打不開相機,需要重新插拔網線、USB線,就是其他問題,需要具體問題,具體分析。

MV_E_NETER 0x80000206 網絡相關錯誤

解析:-2147483130/0x80000206
此類報錯非常常見,主要分以下集中:
相機掉線,能夠在日志中發現大量的206報錯,此時需要去區分掉線原因,結合相機上電時間、心跳時間、相機權限,日志等信息,綜合判斷。
網線異常,導致相機掉線,也需要具體問題分析。

MV_E_IP_CONFLICT 0x80000221 設備IP沖突

解析:-2147483103/0x80000221
常見于IP設置時,當前ip已經被其他設備使用,需要更換ip重新設置。

MV_E_USB_READ 0x80000300 讀USB出錯

解析:-2147482880/0x80000300
USB讀取相機信息失敗,此類問題較為復制,與USB接口穩定性、線纜長度、電磁環境相關,往往不好分析,可以嘗試插拔一下,或者更換USB接口嘗試。

MV_E_USB_WRITE 0x80000301 寫USB出錯

解析:-2147482879/0x80000301
同0x80000300一樣,不好分析,可以嘗試插拔一下,或者更換USB接口嘗試。

MV_E_USB_DRIVER 0x80000305 驅動不匹配或者未裝驅動

解析: -2147482875/0x80000305
同0x80000300一樣,問題復雜,除了更換USB接口外,還可以嘗試更換sdk版本。

2.通過海康相機SDK熟悉C接口取圖流程和取圖方式

個人總結:句柄(void *handle)是相機開發中重要的一環,SDK中的接口中,大部分都是針對句柄的操作,如果有多個相機,要將每個相機和其對應的句柄關聯好,防止后期使用的過程中未及時釋放句柄、造成混亂等。

2.1 設備連接接口流程

??對設備進行操作,實現圖像采集、參數配置等功能,需要先連接設備(打開設備),具體流程如下圖所示:

??1.調用 MV_CC_EnumDevices() 枚舉子網內指定傳輸協議對應的所有設備。可以通過 pstDevList 在結構 MV_CC_DEVICE_INFO_LIST 中找到設備的信息。

#include "MvCameraControl.h"void main() {unsigned int nTLayerType = MV_GIGE_DEVICE | MV_USB_DEVICE;MV_CC_DEVICE_INFO_LIST m_stDevList = {0};int nRet = MV_CC_EnumDevices(nTLayerType, &m_stDevList);if (MV_OK != nRet){printf("error: EnumDevices fail [%x]\n", nRet);} }

??關于搜索到的所有相機設備信息在 MV_CC_DEVICE_INFO_LIST結構體中,

/// \~chinese 設備信息列表 \~english Device Information List typedef struct _MV_CC_DEVICE_INFO_LIST_ {unsigned int nDeviceNum; ///< [OUT] \~chinese 在線設備數量 \~english Online Device NumberMV_CC_DEVICE_INFO* pDeviceInfo[MV_MAX_DEVICE_NUM]; ///< [OUT] \~chinese 支持最多256個設備 \~english Support up to 256 devices}MV_CC_DEVICE_INFO_LIST;

??通過MV_CC_DEVICE_INFO結構體可以訪問每個設備的詳細信息,

/// \~chinese 設備信息 \~english Device info typedef struct _MV_CC_DEVICE_INFO_ {unsigned short nMajorVer; ///< [OUT] \~chinese 主要版本 \~english Major Versionunsigned short nMinorVer; ///< [OUT] \~chinese 次要版本 \~english Minor Versionunsigned int nMacAddrHigh; ///< [OUT] \~chinese 高MAC地址 \~english High MAC Addressunsigned int nMacAddrLow; ///< [OUT] \~chinese 低MAC地址 \~english Low MAC Addressunsigned int nTLayerType; ///< [OUT] \~chinese 設備傳輸層協議類型,e.g. MV_GIGE_DEVICE \~english Device Transport Layer Protocol Type, e.g. MV_GIGE_DEVICEunsigned int nReserved[4]; ///< \~chinese 預留 \~english Reservedunion{MV_GIGE_DEVICE_INFO stGigEInfo; ///< [OUT] \~chinese GigE設備信息 \~english GigE Device InfoMV_USB3_DEVICE_INFO stUsb3VInfo; ///< [OUT] \~chinese USB設備信息 \~english USB Device InfoMV_CamL_DEV_INFO stCamLInfo; ///< [OUT] \~chinese CameraLink設備信息 \~english CameraLink Device Info// more ...}SpecialInfo;}MV_CC_DEVICE_INFO;

??這里以我使用的網口相機GigE設備為例,要獲取到設備的詳細內容:

// 我通過std::map<std::string, std::tuple<void*,MV_CC_DEVICE_INFO*>>m_dev_info_list_;來存儲枚舉到的所示設備。 // 第一個參數的設備的名稱,這個可以自己定義,方便后面對哪一個相機進行操作; // 第二個參數是句柄 // 第三個參數就是MV_CC_DEVICE_INFO設備信息的結構體 MV_CC_DEVICE_INFO* pstMVDevInfo = std::get<1>(m_dev_info_list_[dev_name]);if (pstMVDevInfo->nTLayerType == MV_GIGE_DEVICE) {std::string model =(char*)pstMVDevInfo->SpecialInfo.stGigEInfo.chModelName;std::string cam_ip = "Current IP Address: " ;int nIp1 =((pstMVDevInfo->SpecialInfo.stGigEInfo.nCurrentIp & 0xff000000) >>24);int nIp2 =((pstMVDevInfo->SpecialInfo.stGigEInfo.nCurrentIp & 0x00ff0000) >>16);int nIp3 =((pstMVDevInfo->SpecialInfo.stGigEInfo.nCurrentIp & 0x0000ff00) >>8);int nIp4 =(pstMVDevInfo->SpecialInfo.stGigEInfo.nCurrentIp & 0x000000ff);}

??有些參數我也沒搞懂是什么信息。。。

??2.在打開指定設備之前,調用 MV_CC_IsDeviceAccessible() 檢查指定設備是否可訪問。 (這一步在實際使用中并未用到)

??3.調用 MV_CC_CreateHandle() 以創建設備句柄。

#include "MvCameraControl.h"void main() {int nRet = -1;void* m_handle = NULL;//枚舉子網內指定的傳輸協議對應的所有設備unsigned int nTLayerType = MV_GIGE_DEVICE | MV_USB_DEVICE;MV_CC_DEVICE_INFO_LIST m_stDevList = {0};int nRet = MV_CC_EnumDevices(nTLayerType, &m_stDevList);if (MV_OK != nRet){printf("error: EnumDevices fail [%x]\n", nRet);return;}int i = 0;if (m_stDevList.nDeviceNum == 0){printf("no camera found!\n");return;}//選擇查找到的第一臺在線設備,創建設備句柄int nDeviceIndex = 0;MV_CC_DEVICE_INFO m_stDevInfo = {0};memcpy(&m_stDevInfo, m_stDevList.pDeviceInfo[nDeviceIndex], sizeof(MV_CC_DEVICE_INFO));nRet = MV_CC_CreateHandle(&m_handle, &m_stDevInfo);if (MV_OK != nRet){printf("error: CreateHandle fail [%x]\n", nRet);return;}//...其他處理//銷毀句柄,釋放資源nRet = MV_CC_DestroyHandle(m_handle);if (MV_OK != nRet){printf("error: DestroyHandle fail [%x]\n", nRet);return;} }

??4.調用 MV_CC_OpenDevice() 打開設備。

??去該API定義后發現,后面兩個參數有默認值,所以實際使用中只需要輸入第一個參數設備的句柄即可。

/********************************************************************//*** @~chinese* @brief 打開設備* @param handle [IN] 設備句柄* @param nAccessMode [IN] 訪問權限* @param nSwitchoverKey [IN] 切換訪問權限時的密鑰* @return 成功,返回MV_OK;錯誤,返回錯誤碼 * @remarks 根據設置的設備參數,找到對應的設備,連接設備。\n 調用接口時可不傳入nAccessMode和nSwitchoverKey,此時默認設備訪問模式為獨占權限。目前設備暫不支持MV_ACCESS_ExclusiveWithSwitch、MV_ACCESS_ControlWithSwitch、MV_ACCESS_ControlSwitchEnable、MV_ACCESS_ControlSwitchEnableWithKey這四種搶占模式。\n 對于U3V設備,nAccessMode、nSwitchoverKey這兩個參數無效。 */ #ifndef __cplusplus MV_CAMCTRL_API int __stdcall MV_CC_OpenDevice(IN void* handle, IN unsigned int nAccessMode, IN unsigned short nSwitchoverKey); #else MV_CAMCTRL_API int __stdcall MV_CC_OpenDevice(IN void* handle, IN unsigned int nAccessMode = MV_ACCESS_Exclusive, IN unsigned short nSwitchoverKey = 0); #endif int nRet = MV_CC_OpenDevice(m_handle);

??5.調用 MV_CC_CloseDevice() 關閉設備。

??6.調用 MV_CC_DestroyHandle() 來銷毀句柄并釋放資源。

2.2 相機取圖——主動取流

??SDK提供主動獲取圖像的接口,用戶可以在開啟取流后直接調用此接口獲取圖像,也可以使用異步方式(線程、定時器等)獲取圖像。示例代碼詳見 GrabImage.cpp 和 GrabImage_HighPerformance.cpp 。

  • 主動獲取圖像有兩種方式(兩種方式不能同時使用)
    方式一:調用 MV_CC_StartGrabbing() 開始采集,需要自己開啟一個buffer,然后在應用層循環調用 MV_CC_GetOneFrameTimeout() 獲取指定像素格式的幀數據,獲取幀數據時上層應用程序需要根據幀率控制好調用該接口的頻率。
    方式二:調用 MV_CC_StartGrabbing() 開始采集,然后在應用層調用 MV_CC_GetImageBuffer() 獲取指定像素格式的幀數據,然后調用 MV_CC_FreeImageBuffer() 釋放buffer,獲取幀數據時上層應用程序需要根據幀率控制好調用該接口的頻率。
  • 主動取圖方式使用的場景
    主動取圖方式需要先調用 MV_CC_StartGrabbing() 啟動圖像采集。上層應用程序需要根據幀率,控制好調用主動取圖接口的頻率。兩種主動取圖方式都支持設置超時時間,SDK內部等待直到有數據時返回,可以增加取流平穩性,適合用于對平穩性要求較高的場合。
  • 兩種主動取圖方式的區別
    a、 MV_CC_GetImageBuffer() 需要與 MV_CC_FreeImageBuffer() 配套使用,當處理完取到的數據后,需要用 MV_CC_FreeImageBuffer() 接口將pstFrame內的數據指針權限進行釋放。
    b、 MV_CC_GetImageBuffer()MV_CC_GetOneFrameTimeout() 相比,有著更高的效率。且其取流緩存的分配是由sdk內部自動分配的,而 MV_CC_GetOneFrameTimeout() 接口是需要客戶自行分配。

這里我使用方式一的取圖流程。

??1.開始取流。

??2.停止取流。

??3.方式一的取圖方式,采用超時機制獲取一幀圖片,SDK內部等待直到有數據時返回。

所獲取的幀屬于裸數據,數據保存在pData,并無圖像格式(具體數據格式可以提前設定)。pFrameInfo表示輸出幀的信息。

??可以通過函數MV_CC_Display(IN void* handle, IN void* hWnd)來實時顯示采集到的圖像。該函數需要在MV_CC_StartGrabbing之后調用,顯示采集到的圖像。如果相機當前采集圖像是JPEG壓縮的格式,則不支持調用該函數接口進行顯示。

??可以通過函數MV_CC_SaveImage(IN&OUT MV_SAVE_IMAGE_PARAM* pSaveParam)將原始圖像數據轉換成圖片格式并保存在指定內存里,再通過函數fwrite寫入文件中。
??也可以通過函數MV_CC_SaveImageEx將原始圖像數據轉換成圖片格式并保存在指定內存中,可支持設置JPEG編碼質量。

??可通過函數memcpy(OUT void* dst, IN void const* src, IN size_t size) 把資源內存(src所指向的內存區域)拷貝到目標內存(dest所指向的內存區域),從而將unsigned char格式的圖像數據轉換為QImage格式的圖像數據,這里要注意輸入數據的格式,代碼中輸入的unsigned char pFrameBuf數據格式分別為Mono8的灰度圖像和RGB8_Packed的彩色圖像。

#include "MvCameraControl.h"void main() {int nRet = -1;void* m_handle = NULL;//枚舉子網內指定的傳輸協議對應的所有設備unsigned int nTLayerType = MV_GIGE_DEVICE | MV_USB_DEVICE;MV_CC_DEVICE_INFO_LIST m_stDevList = {0};int nRet = MV_CC_EnumDevices(nTLayerType, &m_stDevList);if (MV_OK != nRet){printf("error: EnumDevices fail [%x]\n", nRet);return;}int i = 0;if (m_stDevList.nDeviceNum == 0){printf("no camera found!\n");return;}//選擇查找到的第一臺在線設備,創建設備句柄int nDeviceIndex = 0;MV_CC_DEVICE_INFO m_stDevInfo = {0};memcpy(&m_stDevInfo, m_stDevList.pDeviceInfo[nDeviceIndex], sizeof(MV_CC_DEVICE_INFO));nRet = MV_CC_CreateHandle(&m_handle, &m_stDevInfo);if (MV_OK != nRet){printf("error: CreateHandle fail [%x]\n", nRet);return;}//連接設備nRet = MV_CC_OpenDevice(m_handle, nAccessMode, nSwitchoverKey);if (MV_OK != nRet){printf("error: OpenDevice fail [%x]\n", nRet);return;}//...其他處理 //開始采集圖像nRet = MV_CC_StartGrabbing(m_handle);if (MV_OK != nRet){printf("error: StartGrabbing fail [%x]\n", nRet);return;}//獲取一幀數據的大小MVCC_INTVALUE stIntvalue = {0};nRet = MV_CC_GetIntValue(m_handle, "PayloadSize", &stIntvalue);if (nRet != MV_OK){printf("Get PayloadSize failed! nRet [%x]\n", nRet);return;}int nBufSize = stIntvalue.nCurValue; //一幀數據大小unsigned int nTestFrameSize = 0;unsigned char* pFrameBuf = NULL;pFrameBuf = (unsigned char*)malloc(nBufSize);MV_FRAME_OUT_INFO_EX stInfo;memset(&stInfo, 0, sizeof(MV_FRAME_OUT_INFO_EX));//上層應用程序需要根據幀率,控制好調用該接口的頻率//此次代碼僅供參考,實際應用建議另建線程進行圖像幀采集和處理while(1){if (nTestFrameSize > 99) {break;}nRet = MV_CC_GetOneFrameTimeout(m_handle, pFrameBuf, nBufSize, &stInfo, 1000);if (MV_OK != nRet){Sleep(10);}else{//...圖像數據處理nTestFrameSize++;}}//...其他處理//停止采集圖像 nRet = MV_CC_StopGrabbing(m_handle);if (MV_OK != nRet){printf("error: StopGrabbing fail [%x]\n", nRet);return;}//關閉設備,釋放資源nRet = MV_CC_CloseDevice(m_handle);if (MV_OK != nRet){printf("error: CloseDevice fail [%x]\n", nRet);return;}//銷毀句柄,釋放資源nRet = MV_CC_DestroyHandle(m_handle);if (MV_OK != nRet){printf("error: DestroyHandle fail [%x]\n", nRet);return;} }

SDK還提供了回調出流的方法,這里我沒研究,如果大佬采用的這種方式,也可以一起交流,方便我學習。

2.3 設置相機的一些參數

/********************************************************************//*** @~chinese* @brief 設置Enum型屬性值* @param handle [IN] 設備句柄* @param strKey [IN] 屬性鍵值,如獲取像素格式信息則為"PixelFormat"* @param nValue [IN] 想要設置的設備的屬性值* @return 成功,返回MV_OK,失敗,返回錯誤碼* @remarks 連接設備之后調用該接口可以設置Enum類型的指定節點的值。strKey取值可以參考XML節點參數類型列表,表格里面數據類型為“IEnumeration”的節點值都可以通過該接口設置,strKey參數取值對應列表里面的“名稱”一列。 ************************************************************************/ MV_CAMCTRL_API int __stdcall MV_CC_SetEnumValue(IN void* handle,IN const char* strKey,IN unsigned int nValue);/********************************************************************//*** @~chinese* @brief 設置float型屬性值* @param handle [IN] 設備句柄* @param strKey [IN] 屬性鍵值* @param fValue [IN] 想要設置的設備的屬性值* @return 成功,返回MV_OK,失敗,返回錯誤碼* @remarks 連接設備之后調用該接口可以設置float類型的指定節點的值。strKey取值可以參考XML節點參數類型列表,表格里面數據類型為“IFloat”的節點值都可以通過該接口設置,strKey參數取值對應列表里面的“名稱”一列。 ************************************************************************/ MV_CAMCTRL_API int __stdcall MV_CC_SetFloatValue(IN void* handle,IN const char* strKey,IN float fValue);

??關于輸入參數參考相機中的節點。

int setCameraParametMode(const char* str_key, unsigned int val) {// TriggerMode 0: Off 1: On// TriggerSource 0:Line0 1:Line1 7:Software// GainAuto 0: Off 1: Once 2: Continuousint temp_val = MV_CC_SetEnumValue(m_handle, str_key, val);if (temp_val != 0) {return -1;}else {return 0;} }int setCameraParametValue(const char* str_type, float num_val) {// ExposureTime// Gainint temp_value = MV_CC_SetFloatValue(m_handle, str_type, num_val);if (temp_value != 0) {return -1;}else {return 0;} }

??使用:

camera_obj->setCameraParametMode("ExposureAuto", 0); camera_obj->setCameraParametValue("ExposureTime", exposure_time); camera_obj->setCameraParametMode("GainAuto", 0); camera_obj->setCameraParametValue("Gain", gain);

3.將相機抓取到的圖像轉為Mat格式,方便后續使用

/************************************************************************* @fn MV_CAMCTRL_API int __stdcall MV_CC_GetIntValue(IN void* handle,IN const char* strKey,OUT MVCC_INTVALUE *pIntValue);* @brief 獲取Integer屬性值(建議改用MV_CC_GetIntValueEx接口)* @param void* handle [IN] 相機句柄* @param char* strKey [IN] 屬性鍵值,如獲取寬度信息則為"Width"* @param MVCC_INTVALUE* pstValue [IN][OUT] 返回給調用者有關相機屬性結構體指針* @return 成功,返回MV_OK,失敗,返回錯誤碼 ************************************************************************/ MV_CAMCTRL_API int __stdcall MV_CC_GetIntValue(IN void* handle,IN const char* strKey,OUT MVCC_INTVALUE *pIntValue);
  • 相機采集到的圖像格式是buffer,需要將其轉化為Mat類型。
int HikCamera::CameraOneFrameImageToMat(void* dev_handle,const std::string& dev_name, cv::Mat& image) {cv::Mat* getImage = new cv::Mat();unsigned int nRecvBufSize = 0;MVCC_INTVALUE stParam;memset(&stParam, 0, sizeof(MVCC_INTVALUE));int tempValue = MV_CC_GetIntValue(dev_handle, "PayloadSize", &stParam);if (tempValue != 0) {return -1;}nRecvBufSize = stParam.nCurValue;unsigned char* pDate;pDate = (unsigned char*)malloc(nRecvBufSize);MV_FRAME_OUT_INFO_EX stImageInfo = { 0 };tempValue = MV_CC_GetOneFrameTimeout(dev_handle, pDate, nRecvBufSize,&stImageInfo, 500);if (tempValue != 0) {return -1;}m_nBufSizeForSaveImage_ =stImageInfo.nWidth * stImageInfo.nHeight * 3 + 2048;unsigned char* m_pBufForSaveImage;m_pBufForSaveImage = (unsigned char*)malloc(m_nBufSizeForSaveImage_);bool isMono; //判斷是否為黑白圖像switch (stImageInfo.enPixelType) {case PixelType_Gvsp_Mono8:case PixelType_Gvsp_Mono10:case PixelType_Gvsp_Mono10_Packed:case PixelType_Gvsp_Mono12:case PixelType_Gvsp_Mono12_Packed:isMono = true;break;default:isMono = false;break;}if (isMono) {*getImage =cv::Mat(stImageInfo.nHeight, stImageInfo.nWidth, CV_8UC1, pDate);}else {// 轉換圖像格式為BGR8MV_CC_PIXEL_CONVERT_PARAM stConvertParam = { 0 };memset(&stConvertParam, 0, sizeof(MV_CC_PIXEL_CONVERT_PARAM));stConvertParam.nWidth = stImageInfo.nWidth;stConvertParam.nHeight = stImageInfo.nHeight;stConvertParam.pSrcData = pDate;stConvertParam.nSrcDataLen = stImageInfo.nFrameLen; // 輸入數據大小stConvertParam.enSrcPixelType = stImageInfo.enPixelType; // 輸入像素格式stConvertParam.enDstPixelType = PixelType_Gvsp_BGR8_Packed; // 輸出像素格式stConvertParam.pDstBuffer = m_pBufForSaveImage; // 輸出數據緩存stConvertParam.nDstBufferSize = m_nBufSizeForSaveImage_; // 輸出緩存大小MV_CC_ConvertPixelType(dev_handle, &stConvertParam);*getImage = cv::Mat(stImageInfo.nHeight, stImageInfo.nWidth, CV_8UC3, m_pBufForSaveImage);}(*getImage).copyTo(image);(*getImage).release();free(pDate);free(m_pBufForSaveImage);return 0; }

4.將Mat格式圖像轉為QImage格式,用于UI界面上控件的顯示

??轉化為Mat后,通過display_myImage_L再將Mat轉化為QImage類型,進行在控件上顯示。軟觸發的話,就是采集到當前幀圖像,通過display_myImage_L顯示,連續采集的話,通過多線程,將線程對象myThread_camera_L_show發送信號display給主線程,主線程調用display_myImage_L將相機采集到的圖像進行顯示。

void display_myImage_L(const cv::Mat* image_ptr) {cv::Mat rgb;// cv::cvtColor(*imagePrt, rgb, CV_BGR2RGB);//判斷是黑白、彩色圖像QImage QmyImage_L;if (lbl_camera_L_image->channels() > 1) {cv::cvtColor(*image_ptr, rgb, CV_BGR2RGB);QmyImage_L = QImage((const unsigned char*)(rgb.data), rgb.cols,rgb.rows, QImage::Format_RGB888);}else {cv::cvtColor(*image_ptr, rgb, CV_GRAY2RGB);QmyImage_L = QImage((const unsigned char*)(rgb.data), rgb.cols,rgb.rows, QImage::Format_RGB888);}QmyImage_L = (QmyImage_L).scaled(ui.lbl_camera_L->size(), Qt::IgnoreAspectRatio,Qt::SmoothTransformation);ui.lbl_camera_L->setPixmap(QPixmap::fromImage(QmyImage_L)); }

參考博文:
https://cloud.tencent.com/developer/article/1730933
https://blog.csdn.net/weixin_46421489/article/details/116381368
關于相機SDK開發
https://cloud.tencent.com/developer/article/1730940

總結

以上是生活随笔為你收集整理的海康威视工业相机SDK的开发使用笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

久久草在线免费 | 日本久久99| 人人艹视频 | 久久综合影音 | 国产日韩在线视频 | 日韩com | av福利电影| 久久久国产一区 | 亚洲国产最新 | 99久久精品免费看国产免费软件 | 久久成人黄色 | 日日干天天干 | 在线不卡视频 | 久久久久北条麻妃免费看 | av一区二区在线观看中文字幕 | 一区二区精品在线观看 | av大全在线| 欧美精品免费一区二区 | 九九免费在线观看视频 | 久久综合婷婷综合 | 国产小视频在线观看 | 992tv成人免费看片 | 91大神精品视频在线观看 | av看片网址 | 韩国一区在线 | 天天射网 | 日韩午夜在线观看 | 亚洲日韩精品欧美一区二区 | 97超碰在线人人 | 国产精品三级视频 | 国内精品美女在线观看 | 国产高清综合 | 天天干天天插伊人网 | 九九热免费精品视频 | 日韩资源在线 | 国产一线二线三线在线观看 | 日韩最新理论电影 | 国产免费不卡 | 波多野结衣一区 | 精品麻豆入口免费 | 日本成人黄色片 | 亚州激情视频 | 国产亚洲综合精品 | 国产乱对白刺激视频在线观看女王 | 99一级片| 亚洲综合情 | 日韩成人邪恶影片 | 欧美日韩在线观看一区 | 成人午夜在线观看 | 国产成人精品一区二区在线观看 | 日本三级不卡 | 日本久久片 | 99精品视频免费观看视频 | 国产视频97 | 99精品视频在线播放观看 | 天天操综合 | 91视频 - x99av | 亚洲精品视频在线观看免费视频 | 久久久久久久久久网 | 色99色| 麻豆免费视频观看 | 成人在线观看av | 欧美在线一二 | 国产精品99久久久久久人免费 | 欧美成人性网 | av东方在线| 玖玖精品在线 | 久久成人资源 | 国产资源精品在线观看 | 日韩欧三级 | 91免费黄视频 | 久久综合色影院 | 亚洲午夜久久久综合37日本 | 久插视频| 91九色免费视频 | 国产亚洲精品福利 | 狠狠色丁香婷婷综合视频 | 国产精品入口麻豆 | 亚洲视频免费在线看 | 日韩黄色一区 | 99热999| 亚洲欧美国产精品 | 日韩欧美成 | 91欧美日韩国产 | 视频在线国产 | 久久观看最新视频 | www狠狠| 日韩在线电影一区二区 | 色综合a| 97视频免费| 久久精品一区二区三区视频 | 最新成人在线 | 亚洲国产97在线精品一区 | 日韩欧美一区二区三区在线 | adn—256中文在线观看 | 亚洲精品美女久久久久 | 久久艹免费 | av超碰在线观看 | 在线观看免费91 | 人人爽人人爽人人片av | 中文字幕在线免费看线人 | 国产精品一区欧美 | 丁香婷婷激情五月 | 99免费在线视频观看 | 欧美日韩在线视频一区二区 | 精品一二三四五区 | 久久久久久美女 | 成人av高清在线观看 | 日韩中文在线电影 | 五月婷婷中文网 | 精品国产一区二区三区四区在线观看 | 日韩激情免费视频 | 91传媒在线播放 | 亚洲成人黄 | 91福利区一区二区三区 | 色瓜 | 91在线视频网址 | 国产精品久久久免费看 | 丁香高清视频在线看看 | 欧美日韩中文在线视频 | 国产高清一级 | 天天曰天天射 | 特级xxxxx欧美 | 欧美黄色软件 | 久久这里只有精品首页 | 在线观看亚洲国产精品 | 99热超碰 | 日韩高清一区在线 | 日韩一区正在播放 | 亚洲精品在线一区二区 | 97网| 日韩免费电影一区二区 | 在线国产视频 | 欧美日韩不卡一区二区三区 | 国内精品久久久久久 | 国产精品6| 欧美一区二区三区四区夜夜大片 | 久久久高清视频 | 色综合久久久久综合 | 久久天堂精品视频 | 97夜夜澡人人爽人人免费 | 日韩极品视频在线观看 | 久久国产午夜精品理论片最新版本 | 精品综合久久 | 夜夜操狠狠干 | 国产精品福利无圣光在线一区 | 国产精品资源在线观看 | 91成人久久| 亚洲aⅴ在线| 久久九九久久九九 | 九色琪琪久久综合网天天 | 91cn国产在线| 在线av资源 | 国产中文视频 | 欧美国产亚洲精品久久久8v | 欧美激情视频一区二区三区 | 久久久久久久久久久黄色 | 99精品久久久久久久久久综合 | 91.dizhi永久地址最新 | 色在线免费观看 | 国产精品一区二区免费视频 | 国产成人亚洲精品自产在线 | 欧美va在线观看 | 一级免费av | 日韩在线视 | 99国产精品一区二区 | 公与妇乱理三级xxx 在线观看视频在线观看 | 亚洲一级片av | 香蕉久久国产 | 日韩精品久久中文字幕 | 国产精品久久一区二区无卡 | 91av视频| 成人毛片一区二区三区 | 人人爽人人香蕉 | 91探花系列在线播放 | 在线a人片免费观看视频 | 国内外激情视频 | www国产亚洲精品久久麻豆 | 一本一道久久a久久综合蜜桃 | 久久撸在线视频 | 久久婷婷五月综合色丁香 | 亚洲精品 在线视频 | 国产做aⅴ在线视频播放 | 欧美性色xo影院 | 天堂黄色片 | 激情文学综合丁香 | 色中色综合| 午夜黄色影院 | 久久激情视频 | 国产在线久草 | 国产日韩精品一区二区三区在线 | 不卡的av在线 | 国内精品视频在线 | 欧美日韩中文字幕视频 | 亚洲欧美激情精品一区二区 | 黄色毛片网站在线观看 | 久草a视频 | 高清一区二区三区av | 久精品在线 | bayu135国产精品视频 | 欧美日韩精品在线 | 精品国偷自产国产一区 | 久久99久久99精品中文字幕 | 国产精品福利在线播放 | 日韩精品无 | 亚洲闷骚少妇在线观看网站 | 狠狠操狠狠干天天操 | 亚洲精品综合一二三区在线观看 | 最新av网址大全 | 精品久久久久久久 | 九九热视频在线播放 | 欧日韩在线 | 奇米影音四色 | 国产最新福利 | 免费看国产一级片 | 2019天天干夜夜操 | 中文字幕a∨在线乱码免费看 | 日韩精品亚洲专区在线观看 | 国产91在 | 韩国精品视频在线观看 | 久久精品视频日本 | 91在线视频在线 | 色吊丝在线永久观看最新版本 | 国产精品久久久久av福利动漫 | 日本论理电影 | 日本精品中文字幕在线观看 | 狠狠干电影| 中文字幕在线看视频 | 激情深爱.com | 国产视频精品久久 | 成人一区在线观看 | 日韩一区二区免费在线观看 | 深夜免费网站 | 国精产品永久999 | 日日夜夜中文字幕 | 国产精品久一 | 色综合久久精品 | 亚洲精品久久久久58 | 欧美一级片免费在线观看 | 国产一区二区在线免费播放 | 久久国产精品一区二区 | 69久久久久久久 | 日韩三级av | 免费在线观看日韩视频 | 在线观看av免费观看 | 一区二区三区日韩精品 | 九九综合在线 | 亚洲综合精品在线 | 在线小视频 | 一区二区精品国产 | 天天舔夜夜操 | 久久九九久久精品 | 黄色网www | 久久免费看a级毛毛片 | 日本黄色免费播放 | 成人av在线看 | av综合在线观看 | 日一日操一操 | 免费黄色看片 | 又爽又黄在线观看 | 亚洲综合激情小说 | av午夜电影 | 国产九色91 | 天天夜夜狠狠操 | 久久人人爽人人爽人人片av软件 | 国产精品一区二区在线免费观看 | 成人精品999 | 成人黄色毛片视频 | 国产精品久久久久久久99 | 91精品在线免费观看 | 欧美精品九九99久久 | 91麻豆精品国产 | 日韩中文字幕在线 | 黄色毛片视频免费 | 国产中文在线视频 | 一区av在线播放 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 久久久久国产精品午夜一区 | 中文字幕中文字幕在线中文字幕三区 | 日韩中文字幕在线观看 | 天天干com | 午夜色婷婷 | 国产精品久久久久婷婷二区次 | 国产精品久久久久永久免费观看 | 狠狠色丁香久久婷婷综合五月 | 在线v片免费观看视频 | 国产精品欧美一区二区 | 五月激情在线 | 手机看片 | 欧美精品乱码久久久久久按摩 | 国产成人精品综合久久久久99 | 欧美一区二区在线看 | 欧美a级成人淫片免费看 | 久久9视频| 天天色天天草天天射 | 成人网页在线免费观看 | 国产91精品一区二区 | 麻豆首页 | 婷婷丁香在线观看 | 成人影视免费看 | 亚洲一区二区三区毛片 | 中文字幕在线免费观看 | 色综合久久久久综合体桃花网 | 黄在线免费看 | 爱射综合| 久久久久人人 | 亚洲精品国产高清 | 国产99自拍 | 亚洲日本黄色 | 午夜影院三级 | 亚洲精品欧美精品 | 999久久国产 | 欧美日韩国语 | 九九日九九操 | 成人国产精品免费 | 日韩电影一区二区在线观看 | 丁香花在线观看视频在线 | 色香蕉在线视频 | 日韩精品欧美一区 | 波多野结衣资源 | 日韩av影片在线观看 | 色综合婷婷久久 | 色综合网| 国产永久网站 | 一级α片 | 国产精品毛片久久久久久 | 亚洲国产成人精品在线 | 91亚洲精品国偷拍自产在线观看 | 免费在线观看国产黄 | 91av官网 | 97激情影院| 97人人澡人人爽人人模亚洲 | 天天草天天 | 色婷婷导航 | 国产日韩在线观看一区 | 欧美日韩国产精品一区二区 | 日韩区欠美精品av视频 | 久久久久国产精品午夜一区 | 欧美久久久久 | 成人禁用看黄a在线 | 国产精品黑丝在线观看 | 99久久99久久精品 | 色 中文字幕 | 91精品免费在线视频 | 国产精品欧美久久久久无广告 | 久久久久久久久国产 | 狠狠操狠狠插 | 久久天天躁夜夜躁狠狠85麻豆 | 午夜色性片 | 在线观看黄 | 激情综合网五月婷婷 | 在线观看岛国片 | 狠狠干夜夜操天天爽 | 精品欧美一区二区三区久久久 | 99久久精品国产免费看不卡 | 国产日韩精品一区二区三区在线 | 亚a在线| 狠狠干干 | 午夜性福利 | av大片网址 | 中文字幕在线观看你懂的 | 天天操天天摸天天射 | 国产精品久久久久久久毛片 | 一二区电影| 一级黄色片在线 | 91精品久久香蕉国产线看观看 | 狂野欧美激情性xxxx欧美 | 国产精品视频不卡 | 国产美腿白丝袜足在线av | 欧美日本一区 | 色婷五月天 | 激情综合狠狠 | 在线观看视频黄色 | 国产自在线观看 | 久99久在线 | 日韩一级电影在线 | 日韩xxxx视频| 依人成人综合网 | 中文字幕精品一区久久久久 | 国产日产精品一区二区三区四区的观看方式 | 麻豆传媒视频在线播放 | 九九热只有精品 | 99在线视频观看 | 国产精品视频永久免费播放 | 久久久国产一区二区 | 四虎在线视频 | 成人午夜电影在线 | 久久免费视频1 | 99re6热在线精品视频 | 久久久久网站 | 青青河边草手机免费 | 亚洲精品一区二区三区高潮 | 成人一区二区在线 | 成年人免费在线观看网站 | 日韩欧美在线观看一区 | 免费男女网站 | 国产精品初高中精品久久 | 日韩久久午夜一级啪啪 | 国产 字幕 制服 中文 在线 | 久草在线在线视频 | 成人av高清 | 国产精品自产拍在线观看蜜 | 成年人免费在线观看网站 | 亚洲精品成人网 | 欧美成人手机版 | 国产精品女教师 | 久久精品99北条麻妃 | 美女视频一区 | 国产精品日韩高清 | 中国美女一级看片 | 日韩一二区在线 | 日韩视频一区二区三区在线播放免费观看 | 国产91全国探花系列在线播放 | 亚洲精品国产综合99久久夜夜嗨 | 欧美日韩一级视频 | 九九热视频在线 | 国产精品视频永久免费播放 | www黄在线| 亚洲一二区视频 | 又大又硬又黄又爽视频在线观看 | 粉嫩一区二区三区粉嫩91 | 白丝av在线| 久久手机在线视频 | 精品久久久影院 | www久草 | 不卡中文字幕av | 久久一线| 久久tv | 黄色一级大片在线观看 | 成年人视频免费在线播放 | 日韩视频免费 | 91九色在线观看视频 | 亚洲激情在线观看 | 日韩在线观看一区二区三区 | 国产高清av在线播放 | 国产美女精彩久久 | 国产成人精品999在线观看 | 在线国产精品视频 | 国产精品美女久久久久久久久久久 | 国产精品美女久久久久久久久 | 在线观看黄网站 | 久久国产精品视频免费看 | 视频在线国产 | 色中色综合 | 五月天激情在线 | 狠狠操天天干 | 97国产在线 | 91九色在线观看视频 | 日韩a在线 | 草免费视频| 婷婷亚洲五月色综合 | 欧美韩国日本在线 | 国产黑丝一区二区三区 | 午夜精品久久久久久久99 | 黄色小视频在线观看免费 | 91香蕉视频污在线 | 中文字幕色婷婷在线视频 | 91成人免费视频 | 伊人导航 | 三级黄色网络 | 亚洲黄色区 | 色婷久久 | 91麻豆操| 亚洲亚洲精品在线观看 | 综合网在线视频 | 天天干,天天干 | 久草免费在线视频观看 | 999成人免费视频 | 国产特级毛片aaaaaa毛片 | 日韩,精品电影 | 欧美 亚洲 另类 激情 另类 | 国产午夜精品视频 | 精品久久久久久国产 | 综合婷婷丁香 | 麻豆你懂的 | 亚洲欧美婷婷六月色综合 | 色视频在线免费 | 欧美激情视频久久 | 国产精品午夜免费福利视频 | 亚洲综合在线观看视频 | 四虎影视成人精品 | 黄色免费观看网址 | 久久视频精品在线观看 | 在线观看av不卡 | 在线观看黄色的网站 | 国产精品久久久久久欧美 | 免费久久99精品国产 | 欧美人交a欧美精品 | 天天操天天操天天操天天操天天操天天操 | 欧美一区二区三区四区夜夜大片 | 天天综合网在线观看 | 欧美日韩精品在线一区二区 | 亚洲成人黄色在线 | 最新成人av| 日韩a免费 | 婷婷五天天在线视频 | 在线 视频 亚洲 | 久久精品视频免费 | 日韩欧美高清不卡 | 成人午夜电影免费在线观看 | 欧美a级在线播放 | 免费观看一区二区三区视频 | 中文字幕第一页在线播放 | 国产精品自拍在线 | 超碰97在线看 | 97国产精品亚洲精品 | 草久久影院 | 国产成人福利在线观看 | www黄色软件| 精品国产电影 | 亚洲最大色 | 国产黄色特级片 | 日韩在线三级 | 成人小视频在线观看免费 | 91视频com | 亚洲精品视频在线观看免费视频 | 欧美有色 | 成人av直播 | 久久久99精品免费观看app | 99久久激情视频 | 99精品视频免费看 | 国产精品不卡在线 | 国产精品自拍在线 | 午夜国产一区 | 亚洲国产午夜视频 | 欧美精品少妇xxxxx喷水 | 国产91在线观看 | 国产伦精品一区二区三区免费 | 午夜精品久久久久久久99婷婷 | 婷婷激情网站 | 国产午夜在线 | 国产精品毛片完整版 | 日p视频| 亚洲最大成人免费网站 | 国产中文字幕视频在线 | 在线观看成年人 | 91在线影视 | 国产成人精品国内自产拍免费看 | 国产精品嫩草影视久久久 | 欧美日韩国产成人 | 91视频在线网址 | 午夜一级免费电影 | 精品视频免费播放 | 欧美高清视频不卡网 | 天堂在线一区二区 | 激情av资源网 | 国产精品久久久久久久免费观看 | 国产一区视频在线观看免费 | 久久精品视频免费 | 亚洲精品美女久久 | 粉嫩av一区二区三区四区在线观看 | 国产99久久久国产精品 | 国产在线观看你懂得 | 三级在线视频观看 | 日日夜夜人人天天 | 国产精品成久久久久 | 黄色小说网站在线 | 国产99色 | www日韩在线观看 | 99精品一级欧美片免费播放 | 日韩理论片中文字幕 | 欧美人人| 婷婷在线网 | 激情网在线观看 | 国内外激情视频 | 国产精品区一区 | 国产拍揄自揄精品视频麻豆 | 密桃av在线 | 天天操狠狠操 | 国产成人333kkk | 中文字幕免费久久 | 国产麻豆精品免费视频 | 久久伊人免费视频 | 在线午夜| 国产无遮挡猛进猛出免费软件 | 天天干天天操天天干 | 色综合久久88色综合天天免费 | 五月婷婷.com | 91av视频网站 | 91丨九色丨国产丨porny精品 | 国产精美视频 | 国产精品国内免费一区二区三区 | 香蕉在线影院 | 96av麻豆蜜桃一区二区 | 国产视频美女 | 精品成人a区在线观看 | 亚洲乱码一区 | 久久特级毛片 | 黄色大全免费观看 | 五月天亚洲综合 | 欧美午夜精品久久久久久孕妇 | 久草男人天堂 | 波多野结衣视频在线 | 国产在线一线 | 久久精品91久久久久久再现 | 99在线观看精品 | 亚洲成av片人久久久 | 久久久国产精品人人片99精片欧美一 | 97人人爽| 丁香电影小说免费视频观看 | 日韩精品电影在线播放 | 久久久免费毛片 | 欧美午夜a | 成年人在线免费看视频 | 99欧美精品 | 人人干在线 | 99精品国产在热久久下载 | 中文字幕高清在线 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | www.五月天激情 | 黄色毛片一级片 | 国内精品视频久久 | 国产裸体视频网站 | 天天综合网~永久入口 | 99视频精品免费视频 | 国产精品视频区 | 亚洲最新视频在线播放 | 亚洲午夜av久久乱码 | 久久精品网站视频 | 国产福利免费看 | 天天干天天碰 | 色婷婷av一区二 | 久久免费片 | 久久精品中文字幕免费mv | 日韩精品在线视频免费观看 | 国产一区二区在线看 | 亚欧日韩成人h片 | 911久久 | 国产一级片免费视频 | 国产精品18久久久久久vr | 中文字幕在线播放一区二区 | 亚州精品视频 | 91精品久久久久久久久久入口 | 午夜三级在线 | 中文av资源站 | 视频高清 | 国产美女免费观看 | 精品一区二区在线播放 | 91夜夜夜| 国产精品一区二区在线免费观看 | 欧美另类色图 | 国产精品日韩 | 在线观看一二三区 | av 一区 二区 久久 | 免费观看一级一片 | 97免费在线观看 | 亚洲欧美日韩一二三区 | 国产美女精品视频 | 91av精品| 一级免费黄色 | 69视频国产 | 天天操天天爽天天干 | 在线激情小视频 | 香蕉视频4aa| 亚洲精品国产精品国自产观看 | 91在线一区二区 | 国产黑丝一区二区 | 国产精品毛片一区视频播不卡 | 女人18片毛片90分钟 | 国产一区二区在线播放视频 | 色爱区综合激月婷婷 | 色在线视频网 | 最新高清无码专区 | 午夜精品视频福利 | 黄网站免费大全入口 | 九色视频网址 | 黄色日批网站 | 日韩在线免费视频观看 | 成人国产精品久久久久久亚洲 | 中文字幕观看在线 | 96av麻豆蜜桃一区二区 | 日韩精品观看 | 四虎影视成人永久免费观看视频 | 久久人视频 | 天天艹天天干天天 | 99国产视频在线 | 亚洲午夜久久久久久久久 | 久草免费在线观看视频 | 久久久99精品免费观看乱色 | 久草视频观看 | 成人影片在线播放 | 在线中文字幕一区二区 | 四虎影视www | 丁香六月婷 | 国产精品女同一区二区三区久久夜 | 97品白浆高清久久久久久 | 日韩欧美xxxx | 超碰97.com| 在线观看免费高清视频大全追剧 | 国产午夜激情视频 | 91综合久久一区二区 | 国产精品成人一区 | 欧美一区二区三区在线播放 | 九九免费在线观看 | 国产97在线播放 | 日韩中文字幕视频在线 | 精品久久福利 | 久久久久久片 | 日韩在线观看精品 | 成年人视频在线观看免费 | 免费黄a大片| 91精品免费在线视频 | 久久99国产精品视频 | 欧美一级在线看 | 天天操天天操天天操天天 | 欧美另类亚洲 | 国产午夜精品一区二区三区嫩草 | 国产最顶级的黄色片在线免费观看 | 国产午夜剧场 | 日韩电影在线看 | 成人毛片在线观看视频 | 亚洲资源 | 国产高清第一页 | 国产亚洲综合性久久久影院 | 色视频网站免费观看 | 91九色精品女同系列 | 日韩精品一区二区在线观看 | 中文字幕av最新 | 超碰日韩在线 | 中文字幕亚洲情99在线 | 国产精品久久久久av免费 | 精品久久网 | 91理论片午午伦夜理片久久 | 国产精品一区二区美女视频免费看 | www.91成人 | 午夜在线免费观看 | 久久噜噜少妇网站 | 久久6精品| 久草观看 | 色噜噜日韩精品一区二区三区视频 | 国产99黄| 欧美精品乱码久久久久久按摩 | 五月婷婷导航 | 有码中文字幕在线观看 | 日韩理论在线观看 | 91最新视频在线观看 | 狠狠色综合网站久久久久久久 | 四虎国产永久在线精品 | 日日爱999 | 91完整版在线观看 | 91精品久久久久久 | 亚洲欧美日韩精品一区二区 | 精品国产电影 | 一区二区中文字幕在线观看 | 在线欧美a | 国产九色视频在线观看 | 国产二区精品 | 久久久久久高潮国产精品视 | 午夜av电影| 免费欧美 | 国产在线观看地址 | 成人va视频| 五月天电影免费在线观看一区 | 欧洲激情综合 | 亚洲成人av在线 | 天天久久综合 | 香蕉视频网址 | 日韩毛片一区 | 欧美在线a视频 | 性色视频在线 | 青青河边草观看完整版高清 | 亚洲欧洲精品久久 | 有码视频在线观看 | 国产一区二区在线观看免费 | 97超碰国产精品女人人人爽 | 免费观看www小视频的软件 | 国产一级片在线播放 | 九九日九九操 | 91重口视频 | 日韩偷拍精品 | 麻豆久久久 | 久久综合久久鬼 | 在线国产福利 | 久久精品久久99精品久久 | 欧美va日韩va | 国产真实在线 | 亚洲成人影音 | 日韩激情在线视频 | 在线看片a| 日韩精品一区二区三区中文字幕 | 日韩av片无码一区二区不卡电影 | 免费看毛片在线 | 久草av在线播放 | 国产精品自在线拍国产 | 成人免费观看网站 | 天天躁日日躁狠狠躁 | 99热国产精品 | 成年人在线观看 | 日韩欧美视频在线观看免费 | 四虎影视成人精品国库在线观看 | 久久久久免费网站 | 色婷婷久久一区二区 | 久久色在线播放 | 国产精品亚洲人在线观看 | av成人在线播放 | 欧美激情综合五月色丁香小说 | 国产亚洲精品久久网站 | 久久精品一二三区白丝高潮 | 国产真实在线 | 久久久精品日本 | 久久免费高清视频 | 久久久久久久久久久网 | av福利在线导航 | 美国av片在线观看 | 午夜精品久久久久 | 国产精品久久一区二区无卡 | 欧美日韩观看 | 久久精品一二三区 | 五月宗合网 | 亚洲国产精品传媒在线观看 | 成人禁用看黄a在线 | 国产视频精品在线 | 欧美另类性 | 91精品办公室少妇高潮对白 | 91色在线观看视频 | www.国产在线视频 | 色资源在线观看 | 国产精品美 | 天天躁日日躁狠狠躁av中文 | 99热精品在线观看 | 色www. | 欧美91视频 | 激情 婷婷| 国产视频亚洲视频 | 免费黄色特级片 | 成人小视频在线免费观看 | 国产黄色成人 | 国产黄在线 | 91精品国产91 | 粉嫩av一区二区三区入口 | 麻豆成人精品 | 五月天色婷婷丁香 | 亚洲精品午夜国产va久久成人 | 亚洲精品网址在线观看 | 深爱激情亚洲 | 色狠狠婷婷 | 97超碰在线资源 | 91成人破解版| 欧美午夜寂寞影院 | 看片网站黄 | 久久免费在线观看视频 | 久久高清| 国产在线精品一区二区不卡了 | 超碰av在线 | 五月婷婷综合色拍 | 日韩欧美视频免费看 | 国产精品一区二区免费 | www激情网 | 一区二区三区国 | 久久欧美综合 | 99精品视频在线播放免费 | 国内精品久久久久久 | 九九免费精品视频 | 精品久久久久久久久久久久久久久久久久 | av片在线观看免费 | 西西人体4444www高清视频 | 亚洲高清在线观看视频 | av在线中文| 午夜av一区二区三区 | 中文字幕一区二区三区在线视频 | 久久国产精品一国产精品 | 久久精品91久久久久久再现 | 免费黄色特级片 | 国产精品久久久久av免费 | 亚洲国产影院 | 91免费国产在线观看 | 久久怡红院| 91少妇精拍在线播放 | 99精品福利视频 | 国产精品久久久毛片 | 91综合色 | 成人在线免费小视频 | 亚洲韩国一区二区三区 | 日韩一区二区免费播放 | 国产小视频在线免费观看 | 一区精品在线 | 福利av影院 | 国产美女精品人人做人人爽 | 在线免费观看视频一区二区三区 | 久久不卡免费视频 | 日韩视频1区 | 久久精品中文字幕 | 国产香蕉av| 欧美午夜激情网 | 精品久久免费看 | 日韩av播放在线 | 免费网站黄色 | 精品久久久久_ | 久久综合狠狠综合久久狠狠色综合 | 久久久天天操 | 日韩精品一区二区免费视频 | 最近中文字幕第一页 | 综合婷婷| 91精品啪在线观看国产81旧版 | 麻豆视频www | 精品视频不卡 | 999抗病毒口服液 | av高清在线 | 久久精品国产亚洲精品2020 | 婷婷5月色 | 免费视频黄 | 在线激情小视频 | 久热av在线 | 玖玖视频 | 国产色资源| 国产成人三级一区二区在线观看一 | 99久e精品热线免费 99国产精品久久久久久久久久 | 99在线热播 | 国产高清精品在线观看 | www.五月天色 | 欧美日韩久久一区 | 国产亚洲精品xxoo | 91九色国产蝌蚪 | 五月激情丁香图片 | 日韩v欧美v日本v亚洲v国产v | 精品一区二区在线免费观看 | 欧美成人区 | 日日夜夜网| 最新av电影网址 | 久久久污| 日韩动漫免费观看高清完整版在线观看 | 久久天堂网站 | 久久一区91 | 免费看黄色小说的网站 | 黄色毛片观看 | bbb搡bbb爽爽爽 | 亚洲一区日韩在线 | 亚洲精品乱码久久久久久蜜桃不爽 | www.狠狠插.com | 狠狠躁18三区二区一区ai明星 | 一区二区 不卡 | 久久综合色天天久久综合图片 | av色影院 | 日韩影视精品 | av日韩av| 丁香视频五月 | 国产一级一片免费播放放 | 中文字幕av在线免费 | 高清av中文在线字幕观看1 | 97香蕉超级碰碰久久免费软件 | 久久精品91视频 | 久久婷婷亚洲 | 亚洲精品乱码久久久久久蜜桃91 | 国产精品999久久久 久产久精国产品 | 久久国产精品久久精品国产演员表 | 欧美在线观看小视频 | 91精品国产99久久久久久红楼 | 成人午夜精品 | 一区二区精品国产 | 免费高清男女打扑克视频 | 成人一区二区在线观看 | 激情综合网五月婷婷 | 久久久久影视 | 六月激情久久 | 日本中文字幕高清 | 国产色女 | 特级毛片在线免费观看 | 黄色av电影免费观看 | 中文字幕文字幕一区二区 | 激情久久久久久久久久久久久久久久 | 国产精品久久久久久久久久久久久久 | 九九综合九九综合 | 一区二区精品视频 | 日韩中文字幕免费在线播放 | 久av在线 | 国产第一页福利影院 | 黄色av免费电影 | 超碰最新网址 | 日韩综合一区二区 | 99在线精品视频 | av福利网址导航大全 | 最新av网址在线 | 欧美一级高清片 | 婷婷久久久久 | 四虎在线观看 | 91成人亚洲| 色偷偷888欧美精品久久久 | 成人av影视 | 精品女同一区二区三区在线观看 | 欧美精品视| 欧美日韩性视频在线 | 久草成人在线 | 久久r精品 | 久久综合九九 | 在线看一区二区 | 日本久久成人 | 日韩精品免费在线观看 | 久久亚洲影院 | 97超碰中文 | 国产精品久久久久久久久久东京 | 国产精品免费久久久 | 国产专区在线视频 | 黄色影院在线播放 | 五月导航| 国产91在线免费视频 | 西西www4444大胆在线 | 久热免费 | 日本三级久久 |