Я изучаю использование нескольких камер для приложений компьютерного зрения. Например, в каждом уголке комнаты есть камера, и задача - отслеживание людей. Я хотел бы имитировать такую среду. Что мне нужно:
Есть ли у кого-нибудь опыт? Я проверил блендер (http://www.blender.org), но в настоящее время я ищу более быстрое/простое в использовании решение.
Не могли бы вы дать мне рекомендации для аналогичного программного обеспечения/библиотек (желательно C++ или MATLAB).
Если я все понял! вы хотите имитировать подачу фотокамеры от нескольких камер в разных положениях среды.
Я не знаю ни о каких сайтах, ни о готовом готовом решении, но вот как я буду продолжать:
Закупайте трехмерные облачные точки динамической среды (см. Наборы данных бенчмарка Kinect 3d slam) или создайте свой собственный с Kinect (надеясь, что у вас есть Xbox kinect с вами).
После того, как вы получили киндексные облака точек в формате облака точек PCL, вы можете имитировать подачу видео с различных камер.
Псевдокода, такого как это, будет достаточно:
#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, вы можете проверить это сообщение, а затем выполнить оставшиеся шаги.
вы можете найти ILNumerics идеально подходит для ваших нужд: