我正在研究使用多臺攝像機進行計算機視覺應用。例如。在房間的每個角落都有一個攝像頭,任務是人的跟蹤。我想模擬這種環境。我需要的是:計算機視覺數據集的模擬
- 定義動態3D環境的能力,例如,房間和移動的物體。
- 將攝像機放置在不同位置併爲每個攝像機獲取模擬數據集的選項。
有沒有人有任何經驗呢?我檢查了攪拌機(http://www.blender.org),但目前我正在尋找更快/更易於使用的解決方案。
你能否給我指導類似的軟件/庫(最好是C++或MATLAB)。
我正在研究使用多臺攝像機進行計算機視覺應用。例如。在房間的每個角落都有一個攝像頭,任務是人的跟蹤。我想模擬這種環境。我需要的是:計算機視覺數據集的模擬
有沒有人有任何經驗呢?我檢查了攪拌機(http://www.blender.org),但目前我正在尋找更快/更易於使用的解決方案。
你能否給我指導類似的軟件/庫(最好是C++或MATLAB)。
你會發現ILNumerics完全符合您的需求:
如果我得到它的權利!您正在模擬環境中不同位置的多個攝像頭的攝像頭饋送。
我不知道任何網站或工作現成的解決方案,但這裏是我將如何繼續:
採購動態環境的3d點雲(請參閱Kinect 3d slam benchmark datasets)或用Kinect生成自己的一個(希望你有Xbox與你的kinect)。
一旦你得到PCL點雲格式的kinect點雲,你可以模擬來自不同攝像機的視頻。
僞代碼,因爲這將足夠了:
#include <pcl_headers>
//this method just discards all 3d depth information and fills the pixels with rgb values
//this is like a snapshot in the pcd_viewer of pcl(point cloud library)
makeImage(cloud,image){};
pcd <- read the point clouds
camera_positions[] <- {new CameraPosition(affine transform)...}
for(camera_position in camera_positions)
pcl::transformPointCloud(pcd,
cloud_out,
camera_position.getAffineTransform()
);
//Now cloud_out contains point cloud in different viewpoint
image <- new Image();
make_image(cloud_out,image);
saveImage(image);
PCL提供的函數變換點雲給予適當的參數pcl::trasformPointCloud()
如果您不希望使用PCL那麼你不妨檢查 this post再接着剩下的步驟。