【AR實驗室】mulberryAR :添加連續圖像做爲輸入

本文轉載請註明出處 —— polobymulberry-博客園html

0x00 - 前言


以前mulberryAR只能利用手機相機實時捕捉圖像做爲系統的輸入,這也比較符合用戶的習慣。可是在開發的過程當中,有時候想對比兩種方法的優劣,看看性能優化的程度,那麼做爲輸入應該保證一致才能夠。而實時捕捉的圖像可能沒法知足這樣的要求,因此添加了連續圖像錄製和連續圖像做爲系統輸入的功能。功能自己實現起來不是很麻煩。性能優化

0x01 - 功能實現


1.圖像錄製功能app

第一步,獲取圖片的存儲位置。在app的Documents文件夾新建一個Test文件夾,每一幀圖像按照存儲的順序命名爲0000.png、0001.png…函數

第二步,將圖像存儲爲png格式。使用cv::imwrite函數將須要存儲的cv::Mat對象存儲到本地。性能

// 將圖片壓縮爲png格式,壓縮等級爲0,。壓縮等級越高,壓縮程度越大,時間越長
std::vector<int> compressParams;
compressParams.push_back(CV_IMWRITE_PNG_COMPRESSION);
compressParams.push_back(0);
// recordImageFilePath爲每幀圖像存儲的絕對路徑
cv::imwrite([recordImageFilePath cStringUsingEncoding:NSUTF8StringEncoding], _imgMat, compressParams);

2.連續圖像做爲輸入優化

第一步,獲取本地存儲的圖像。根據png圖片名稱中的數字大小依次使用cv::imread函數獲取圖像做爲輸入。spa

第二步,將解析的圖像做爲輸入。整個流程和實時捕捉圖像的流程一致。3d

0x02 - 效果展現


選擇具體功能。1.實時捕捉 2.錄製視頻 3.視頻文件(經過錄制的視頻做爲輸入)code

IMG_3622

分別爲上述三種功能效果圖:視頻

1.實施捕捉

IMG_3623

2.錄製視頻

IMG_3624

3.視頻文件(經過錄制的視頻做爲輸入)

IMG_3627

相關文章
相關標籤/搜索