Я транслирую видео с камер Luxonis Oak-1 на свой Nvidia Jetson Orin AGX под управлением Linux. Я загружаю в свои камеры скрипт, который кодирует изображения в формате mjpeg.
Изображения передаются на компьютер по протоколу TCP. Я добился низкой задержки и быстрой подачи камеры на Python (около 27 кадров в секунду). Однако я создаю приложение на C++ и получаю плохие результаты по частоте кадров на C++ (около 8 кадров в секунду).
Минимально воспроизводимый пример сценария C++
Код: Выделить всё
#include
#include
#include
#include
int main() {
cv::Mat blackFrame = cv::Mat::zeros(cv::Size(1920, 1080), CV_8UC3);
std::vector encodedBuffer;
cv::imencode(".jpg", blackFrame, encodedBuffer);
auto start = std::chrono::high_resolution_clock::now();
cv::Mat decodedImage = cv::imdecode(encodedBuffer, cv::IMREAD_COLOR);
auto end = std::chrono::high_resolution_clock::now();
std::chrono::duration elapsed = end - start;
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/78292337/opencvs-imdecode-is-slow-in-c-when-decoding-mjpeg[/url]
Мобильная версия