OPENCV----在APP效能測試中的應用(一)

來源:互聯網
上載者:User

標籤:image   操作   amp   banner   分享   效能測試   不能   return   color   

 

應用項目:  APP的效能測試

 

應用情境:  APP啟動速度  視頻開播速度 載入速度  等~~

 

緣來:  基於APP日誌UiAutomator的測試方案,測試結果不能直白且精確的反應,使用者的體驗

 

改進: 通過手工操作或自動操作的方式錄取視頻,然後用影像處理的方式,來擷取測試結果

 

架構流程圖:

 

主要的核心點:

  視頻分幀: 基於ffmpeg庫 進行分幀

              範例: ffmpeg  -hide_banner -i video.mp4 -an -vsync 0 .\frames\%06d.png > null

 

       圖片對比: 基於opencv庫進行圖片對比

       核心代碼:

int diff_count(const Mat& lmat, const Mat& rmat, int threshold) {    int cols = lmat.cols;    int rows = lmat.rows;    int esize = (int)lmat.elemSize();    if ( rmat.cols != cols || rmat.rows != rows || (int)rmat.elemSize() != esize ) {        return -1;    }    int total = rows * cols;    int dcount = 0;    for ( int i = 0; i < total; i++ ) {        uchar* lptr = lmat.data + i*esize;        uchar* rptr = rmat.data + i*esize;        int sum = 0;        for ( int j = 0; j < esize; j++ ) {            uchar lu = lptr[j];            uchar ru = rptr[j];            int tmp = lu > ru ? lu - ru : ru - lu;            sum += tmp*tmp;        }        if ( sqrt(sum)/esize >= threshold ) {            dcount++;        }    }    return dcount;}

 

OPENCV----在APP效能測試中的應用(一)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.