#include "grabber.h" #include #include #include using namespace std::chrono; void Grabber::run() { stop_request = false; int count = 0; if (camera->isOpen()) { camera->frameRate(static_cast(framerate)); camera->exposureTime(exposure); camera->gain(gain); Pylon::CGrabResultPtr frame; Pylon::CInstantCamera *cam = camera->getCamera(); cam->StartGrabbing(); while (camera->isOpen() && !stop_request) { MyImage *img = new MyImage(); auto start = high_resolution_clock::now(); cam->RetrieveResult( 5000, frame, Pylon::TimeoutHandling_ThrowException); auto stop1 = high_resolution_clock::now(); img->setFrame(frame); auto stop2 = high_resolution_clock::now(); buffer->push(img); auto duration1 = duration_cast(stop1 - start); auto duration2 = duration_cast(stop2 - stop1); count += 1; } cam->StopGrabbing(); } }