У меня есть два вопроса, на которые я пытался найти ответы в сети более недели.
Я пишу службу Windows на Visual C ++ 2017, которая подключается к IP-камерам Axis в нашей сети и выполняет запросыMJPEG потоки с использованием обычных сокетов.Он успешно анализирует потоки и декодирует изображения JPEG.Декодирование сделано с помощью OpenCV;frame = cv :: imdecode (data, IMREAD_GRAYSCALE)).
Q1.Хотя OpenCV использует библиотеку JPEG с производительностью, как заявляет: build-libjpeg-turbo (версия 1.5.3-62), производительность декодирования на удивление ниже, чем у .Net System.Drawing.Image.FromStream (мс).Есть ли у вас какие-либо рекомендации по быстрой декомпрессии JPEG?
Q2.Все, что мне нужно сделать с полученными JPEG, - это проверить «области интереса», если там есть движение.На самом деле это производственные линии на заводе.Завод работает 24 часа и шесть дней в неделю, поэтому условия освещения будут меняться.Иногда света не будет вообще, поэтому JPEG будет иметь много шума на них.Какие операции и алгоритмы OpenCV вы бы порекомендовали применить к кадрам, чтобы понять, есть ли движение в ROI?Конечно, вы можете использовать множество операций с вашими матрицами одну за другой, но мне нужен самый короткий и эффективный способ сохранить требования к ресурсам на низком уровне, поскольку он будет выполнять эту операцию для множества камер и рентабельности инвестиций одновременно.
Моя система с видеокартой NVIDIA (я могу использовать CUDA), Intel i7-7700, RAM 16 ГБ.
Спасибо!