Other Parts Discussed in Thread: OPT8241
Hello,
I would like to work with 3 TOF-cameras (OPT8241 Evaluation Modul). I use Voxel SDK 0.6.10. Most frames i got are damaged.
Source Code:
String dumpFileName_1 = "depth1";
String dumpFileName_2 = "depth2";
String dumpFileName_3 = "depth3";
std::ofstream f1(dumpFileName_1, std::ios::binary | std::ios::out);
std::ofstream f2(dumpFileName_2, std::ios::binary | std::ios::out);
std::ofstream f3(dumpFileName_3, std::ios::binary | std::ios::out);
CameraSystem sys;
DepthCameraPtr depthCamera_1, depthCamera_2, depthCamera_3;
const Vector<DevicePtr> &devices1 = sys.scan();
depthCamera_1 = sys.connect(devices1[0]);
depthCamera_2 = sys.connect(devices1[1]);
depthCamera_3 = sys.connect(devices1[2]);
depthCamera_1->registerCallback(DepthCamera::FRAME_DEPTH_FRAME, [&](DepthCamera &dc, const Frame &frame, DepthCamera::FrameType c) {
const DepthFrame *d = dynamic_cast<const DepthFrame *>(&frame);
f1.write((char *)d->depth.data(), sizeof(float)*d->size.width*d->size.height);
dc.stop();
});
depthCamera_2->registerCallback(DepthCamera::FRAME_DEPTH_FRAME, [&](DepthCamera &dc, const Frame &frame, DepthCamera::FrameType c) {
const DepthFrame *d = dynamic_cast<const DepthFrame *>(&frame);
f2.write((char *)d->depth.data(), sizeof(float)*d->size.width*d->size.height);
dc.stop();
});
depthCamera_3->registerCallback(DepthCamera::FRAME_DEPTH_FRAME, [&](DepthCamera &dc, const Frame &frame, DepthCamera::FrameType c) {
const DepthFrame *d = dynamic_cast<const DepthFrame *>(&frame);
f3.write((char *)d->depth.data(), sizeof(float)*d->size.width*d->size.height);
dc.stop();
});
for (int its = 1; its < 100; its++) {
depthCamera_1->start();
depthCamera_1->wait();
depthCamera_2->start();
depthCamera_2->wait();
depthCamera_3->start();
depthCamera_3->wait();
}
