#include "dualcamgrabber.h" #include #include void DualcamGrabber::run() { stop_request = false; size_t framecount = 0; if (wrapper->isOpen()) { Pylon::CInstantCameraArray &cameras = wrapper->getCameraArray(); wrapper->frameRate(static_cast(framerate)); wrapper->exposureTime(exposure); wrapper->gain(gain); cameras.StartGrabbing(); Pylon::CGrabResultPtr frame0, frame1; while (cameras.IsGrabbing() && !stop_request) { MyImage *img = new MyImage(); cameras.RetrieveResult( 5000, framecount % 2 == 0 ? frame0 : frame1, Pylon::TimeoutHandling_ThrowException ); img->setFrame(framecount % 2 == 0 ? frame0 : frame1); if (framecount % 2 == 0) { buffer0->push(img); } else { buffer1->push(img); } framecount += 1; } cameras.StopGrabbing(); } }