天天看點

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

本文轉載請注明出處 —— polobymulberry-部落格園

0x00 - 前言

之前mulberryAR隻能利用手機相機實時捕捉圖像作為系統的輸入,這也比較符合使用者的習慣。但是在開發的過程中,有時候想對比兩種方法的優劣,看看性能優化的程度,那麼作為輸入應該保證一緻才可以。而實時捕捉的圖像可能無法滿足這樣的要求,是以添加了連續圖像錄制和連續圖像作為系統輸入的功能。功能本身實作起來不是很麻煩。

0x01 - 功能實作

1.圖像錄制功能

第一步,擷取圖檔的存儲位置。在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函數擷取圖像作為輸入。

第二步,将解析的圖像作為輸入。整個流程和實時捕捉圖像的流程一緻。

0x02 - 效果展示

選擇具體功能。1.實時捕捉 2.錄制視訊 3.視訊檔案(通過錄制的視訊作為輸入)

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

分别為上述三種功能效果圖:

1.實施捕捉

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

2.錄制視訊

3.視訊檔案(通過錄制的視訊作為輸入)

繼續閱讀