91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解析RTSP協議視頻平臺EasyCVR使用OpenCV 從內存中構建Mat數據

發布時間:2021-12-15 18:17:05 來源:億速云 閱讀:176 作者:柒染 欄目:大數據

本篇文章給大家分享的是有關如何解析RTSP協議視頻平臺EasyCVR使用OpenCV 從內存中構建Mat數據,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

在 EasyCVR 圖片處理功能中,采用了 OpenCV 進行了圖片處理。OpenCV 是一個基于 BSD 許可(開源)發行的跨平臺計算機視覺和機器學習軟件庫,可以運行在Linux、Windows、Android和Mac OS操作系統上。

如何解析RTSP協議視頻平臺EasyCVR使用OpenCV 從內存中構建Mat數據

在使用 OpenCV 上,一般直接使用cv::imread(file_path.c_str());方法構建 cv::Mat 數據進行處理。此種方法是從磁盤中的文件中讀取數據后構建 cv::Mat,即處理順序為:

  1. 首先其他模塊將圖片數據寫入到磁盤文件中;

  2. OpenCV 將磁盤文件加載到內存中構建 Mat 數據。

此種方法缺點如下,首先在磁盤的讀寫上消耗了性能,其次其他模塊消耗了一次內存,OpenCV 模塊也消耗了一次內存。

因為其他模塊已經將對應的圖片數據加載在內存中,因此直接將此部分數據傳遞給 OpenCV 模塊,就可極大的加快處理速度。主要使用cv::imdecode(data, CV_LOAD_IMAGE_COLOR)方法構建 Mat 數據。
以下為具體代碼:

string fname = "D:/image.jpg";
    //! 以二進制流方式讀取圖片到內存
    FILE* pFile = fopen(fname.c_str(), "rb");
    fseek(pFile, 0, SEEK_END);
    long lSize = ftell(pFile);
    rewind(pFile);
    char* pData = new char[lSize];
    fread(pData, sizeof(char), lSize, pFile);
    fclose(pFile);
    //! 解碼內存數據,變成cv::Mat數據
    cv::Mat img_decode;
    vector<uchar> data;
    for (int i = 0; i < lSize; ++i){
        data.push_back(pData[i]);
    }
    img_decode = cv::imdecode(data, CV_LOAD_IMAGE_COLOR);
    cv::flip(img_decode, img_decode, -1);
    img_decode.channels();
    //! 將cv::Mat數據編碼成數據流
    vector<unsigned char> img_encode;
    cv::imencode(".jpg", img_decode, img_encode);
    unsigned char *encode_data = new unsigned char[lSize];
    for (int i = 0; i<lSize; i++){
        encode_data[i] = img_encode[i];
    }

首先從文件中讀取數據,并加載到內存中。此部分和 OpenCV 完全無關,可以由其他模塊進行設計。data 為存儲內存的數據。最終直接調用 cv::imdecode 就構建成功。

關于EasyCVR融合視頻平臺

EasyCVR視頻解決方案分為設備端、服務端、客戶端三個部分,設備端位于局域網,服務端及客戶端位于互聯網,支持傳統網絡攝像機、NVR、編碼器、SDK等設備,最大程度的提高了硬件設備的兼容性。

以上就是如何解析RTSP協議視頻平臺EasyCVR使用OpenCV 從內存中構建Mat數據,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

镇赉县| 大城县| 东至县| 温泉县| 宜阳县| 莱西市| 临沭县| 北京市| 修文县| 连平县| 如皋市| 敦煌市| 稻城县| 临洮县| 杨浦区| 郯城县| 连平县| 房山区| 霍邱县| 清新县| 宝清县| 镇江市| 当雄县| 荃湾区| 即墨市| 那坡县| 嘉义市| 农安县| 涞水县| 黄浦区| 衡阳县| 信宜市| 武安市| 三穗县| 合肥市| 延川县| 五莲县| 安龙县| 武川县| 华蓥市| 华安县|