本文轉載請註明出處 —— polobymulberry-博客園html
以前mulberryAR只能利用手機相機實時捕捉圖像做爲系統的輸入,這也比較符合用戶的習慣。可是在開發的過程當中,有時候想對比兩種方法的優劣,看看性能優化的程度,那麼做爲輸入應該保證一致才能夠。而實時捕捉的圖像可能沒法知足這樣的要求,因此添加了連續圖像錄製和連續圖像做爲系統輸入的功能。功能自己實現起來不是很麻煩。性能優化
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
選擇具體功能。1.實時捕捉 2.錄製視頻 3.視頻文件(經過錄制的視頻做爲輸入)code
分別爲上述三種功能效果圖:視頻
1.實施捕捉
2.錄製視頻
3.視頻文件(經過錄制的視頻做爲輸入)