Как получить потоковую передачу в реальном времени от Baumer GenICam с opencv и C ++? - PullRequest
0 голосов
/ 05 июля 2019

Сейчас я использую C ++ и OpenCv вместе для получения изображений и прямой трансляции с камеры Baumer VCXU201M.R.Мой код выглядит следующим образом, и теперь проблема в том, что я могу получить только одно статическое изображение из буфера в режиме «FreeRun» (который непрерывно делает снимки с самой высокой частотой кадров) или в режиме «Триггер».Я не уверен, что делать сейчас.Должен ли я делать снимки кадр за кадром?Есть ли какая-либо функция в Opencv, поддерживающая вывод живого потока из GenICam?

Я пробовал использовать режимы freerun и запуска камеры.Оба предоставили мне один кадр статического изображения.

                // OPEN CV STUFF
                    openCvImage = cv::Mat(pImage->GetHeight(), pImage->GetWidth(), CV_8UC1, (int *)pImage->GetBuffer());

                // create OpenCV window ---
                std::string windowname = "Live feed";
                cv::resize(openCvImage, I, cv::Size(500, 500), 0, 0, CV_INTER_LINEAR);
                cv::namedWindow(windowname, CV_WINDOW_NORMAL);

                //display the current image in the window ----
                cv::imshow(windowname, I);
                cv::waitKey(1);

Я ожидал прямой трансляции с максимальной частотой кадров 65 кадров в секунду.фактический результат - статическая картинка

...