Работа с видеофайлами в OpenCV под MacOS

262
14 июля 2017, 05:15

Окружение: установил OpenCV с помощью brew.

brew tap brewhome/science
brew install opencv --c++11 --with-contrib --HEAD

GCC так же был уствновлен через brew, последняя версия.

Проблемный участок кода:

while( !( input_frame = g_InFramesStream->nextFrame() ).empty() )
{ 
    /*code*/ 
}

Где g_InFrameStream:

//-----------------------------------------------------------------------------
CInputFramesStream::CInputFramesStream( const char* _path, int _fps )
    : m_grabber()
{
    m_grabber.open( _path );
    if( _fps != FD_DEFAULT_FPS )
        m_grabber.set( CV_CAP_PROP_FPS, _fps );
}
//-----------------------------------------------------------------------------
cv::Mat CInputFramesStream::nextFrame()
{
    cv::Mat frame;
    m_grabber >> frame;
    return frame;
}

При старте приложения OpenCV выдает ошибку о том, что невозможно октрыть данный файл. Что это может быть? Не хватает каких-то библиотек для работы с видео? Сам специально ничего не устанавливал, при установке через brew тот сам произвел проверку недостающих либ и установил их.

P.S. Вопрос можно считать закрытым. Установил из исходников. Используемые в cmake флаги:

-DCMAKE_BUILD_TYPE=RELEASE 
-DCMAKE_INSTALL_PREFIX=/usr/local 
-DWITH_CONTRIB=../../opencv_contrib/modules 
-DBUILD_NEW_PYTHON_SUPPORT=ON 
-DWITH_QT=ON 
-DWITH_V4L=ON

Имхо, внимание стоит обратить на последние два флага.

READ ALSO
Описание переменной цикла for

Описание переменной цикла for

Очевидно, что все пишут так:

403
Насколько правильна эта функция?

Насколько правильна эта функция?

Здравствуйте! Насколько правильна данная функция по получению имени пользователя с точки зрения выделения и чистки памяти? Нужно ли чистить...

276
Как сделать программу-фильтр для потока видео?

Как сделать программу-фильтр для потока видео?

Есть поток видеоТо есть, бесконечный

245
Переделать char функцию под int

Переделать char функцию под int

Здравствуйте, нужно переделать данную функцию, так, что б вместо подпоследовательности char, она проверяла подпоследовательность int:

317