Closed mikeNike9 closed 7 years ago
Mike,
The OEM framegrabber is a "zero copy" framegrabber. I.e., it returns to you data directly from the internal imager buffers -- it does not get its data from the PCIC server on the device. If you want to fetch data from a remote camera from code running on another camera, you need to use the standard libo3d3xx TCP framegrabber -- I.e., at that point you are building a distributed system and a network connection is required.
@mikeNike9 you should either cross compile the standard framegrabber like @tpanzarella said or implement an onboard camera daemon which is managing the data collection and distribution for you. In the second approach you may can reduce the data size my some kind of pre processing on each node.
Christian, is the standard TCP framegrabber included on the OEM images still?
On Jun 29, 2017, at 8:52 AM, Christian Ege notifications@github.com wrote:
@mikeNike9 you should either cross compile the standard framegrabber like @tpanzarella said or implement an onboard camera daemon which is managing this for you. In the second approach you may can reduce the data size my some kind of pre processing on each node.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.
@tpanzarella no, there was no reason because of the zero-copy approach.
Two use cases I can think of include:
On Jun 30, 2017, at 5:19 AM, Christian Ege notifications@github.com wrote:
@tpanzarella no, there was no reason because of the zero-copy approach.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.
Tom
Can I use the same Frame Grabber on the Camera with multiple camera objects? I have been trying a few things today but have not succeeded. I will try and add a new IP address but it will continue to grab the default camera IP address when I call the the FrameGrabber. auto cam = std::make_shared();
auto cam2= std::make_shared("192.168.0.71");
auto fg = std::make_shared(cam2, o3d3xx::IMG_AMP|o3d3xx::IMG_RDIS|o3d3xx::IMG_CART);
auto im = std::make_shared();
EXPECT_TRUE(fg->WaitForFrame(im.get(), 1000));
pcl::PointCloud::Ptr cloud = im->Cloud();
This will return the point cloud of cam and not of the cam2 (192.168.0.71)
I have other ways grab the points off the other cameras but figured I would try and grab a frame for fun first.