EDIT: честная рекомендация Если вы хотите передать из PMD в реальном времени, используйте C#. Любой пользовательский интерфейс прост в создании и существует довольно мощная библиотека, MetriCam от Metrilus AG, которая поддерживает потоковое вещание для различных 3D-камер. Я могу получить стабильные 45 fps с этим.Визуализируйте поток из PMD Camboard Nano в Qt
ORIGINAL:
Я пытался получить информацию о глубине от PMD camboard nano и визуализировать его в графическом интерфейсе. Информация поставляется в виде массива с плавающей точкой 165x120.
Поскольку я также хочу использовать данные для целей анализа (качество изображения, белый шум и т. Д.), Мне нужно захватить кадры с определенной частотой кадров. Проблема заключается в том, что SDK, который PMD обеспечивает с камерой (для MATLAB & C) только дает возможность захватывать отдельные кадры по телефону
pmdUpdate(hnd);
так фреймрейт зависит от того, как часто вы опрашивать данные изображения.
Первоначально я попытался выполнить анализ в MATLAB, но я не смог получить более 30 кадров в секунду из-за камеры, а добавление какого-то дополнительного кода в цикл затрудняло работу (мне нужно как минимум надежное 25 кадров в секунду).
Затем я переключился на C, где я получил скорость до 70 кадров в секунду, но не смог визуализировать данные.
Затем я попробовал его с Qt, который основан на C/C++ - поэтому он должен быстро проверять данные изображения - и где я мог бы легко включать библиотеки PMDSDK. Однако, поскольку я новичок в Qt, я мало что знаю о пользовательских интерфейсах.
Итак, мой вопрос:
Есть ли какой-либо эффективный способ визуализации 2D-float-массива на Qt-GUI? Если нет, как насчет чего-нибудь полезного в Visual Studio с C++?
(я знаю, что рисование каждого пикселя по одному на QGraphicsView тупо, но я попробовал, и я получаю колоссальную частоту кадров .4 кадров в секунде ...)
Спасибо за любые полезные советы!
Jannik