Opencv и JMF Вместе
Я запрограммировал серверную и клиентскую стороны для получения видеопотока с веб-камеры в Java .
Это то, что я использую на стороне клиента:
public void update (ReceiveStreamEvent event) {
if (event instanceof NewReceiveStreamEvent) {
ecritureAffichage("Reception d'un flux");
//new flux received
ReceiveStream rs = event.getReceiveStream();
try {
Player p = Manager.createRealizedPlayer(rs.getDataSource());
//if the payer has a visual component , then create new jframe
Я отлично получаю поток с сервера, теперь мне нужно выполнить обнаружение движения на стороне клиента, я думаю использовать OpenCv, но я не знаю, как заставить его работать! все, что я знаю, - это то, что OpenCv может открывать видеофайл или напрямую использовать веб-камеру, чего я не знаю, может ли он принимать видеопоток в качестве входа?
это может быть сделано? или я просто иду не в ту сторону. Пожалуйста, дайте мне несколько идей, спасибо
1 ответ
OpenCV позволяет открывать видеопоток. Вы можете сделать это, следуя совету по этой ссылке
По сути, все функции, необходимые для работы с видео, интегрированы в класс VideoCapture C++. Это само по себе основано на библиотеке с открытым исходным кодом FFmpeg. Это базовая зависимость OpenCV, поэтому вам не нужно беспокоиться об этом. Видео состоит из последовательности изображений, в литературе мы называем их кадрами. В случае видеофайла есть частота кадров, определяющая, как долго это между двумя кадрами. В то время как для видеокамер обычно существует ограничение на количество кадров, которые они могут оцифровывать в секунду, это свойство менее важно, так как в любой момент камера видит текущий снимок мира.