Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> отображение mjpg в opencv, ошибка No accelerated colorspace convers 
:(
    Опции темы
iff
Дата 14.2.2016, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: нет
Всего: 16



Вывожу видео с web-камеры:
Код

#include <opencv2/opencv.hpp>
#include <iostream>

int main(int, char**) {
    cv::VideoCapture vcap;
    cv::Mat image;

    const std::string videoStreamAddress = "http://1.1.1.1/mjpg/video.mjpg";


    //open the video stream and make sure it's opened
    if(!vcap.open(videoStreamAddress)) {
        std::cout << "Error opening video stream or file" << std::endl;
        return -1;
    }

    for(;;) {
        if(!vcap.read(image)) {
            std::cout << "No frame" << std::endl;
            cv::waitKey();
        }
        cv::imshow("Output Window", image);
        if(cv::waitKey(1) >= 0) break;
    }   
}

(пример из интернета)
Изображение выводиться, но в консоле отображается масса ошибок:
Код

[mjpeg @ 003b4780] max_analyze_duration 5000000 reached at 5000000
[mjpeg @ 003b4780] Estimating duration from bitrate, this may be inaccurate
[mjpeg @ 003b69c0] max_analyze_duration 5000000 reached at 5000000
[mjpeg @ 003b69c0] Estimating duration from bitrate, this may be inaccurate
[swscaler @ 0127cba0] No accelerated colorspace conversion found from yuv422p to
 bgr24.
[swscaler @ 0127cba0] No accelerated colorspace conversion found from yuv422p to
 bgr24.
[swscaler @ 0127cba0] No accelerated colorspace conversion found from yuv422p to
 bgr24.
[swscaler @ 0127cba0] No accelerated colorspace conversion found from yuv422p to
 bgr24.
[swscaler @ 0127cba0] No accelerated colorspace conversion found from yuv422p to
 bgr24.
[swscaler @ 0127cba0] No accelerated colorspace conversion found from yuv422p to
 bgr24.
[swscaler @ 0127cba0] No accelerated colorspace conversion found from yuv422p to
 bgr24.
[swscaler @ 0127cba0] No accelerated colorspace conversion found from yuv422p to
 bgr24.
[swscaler @ 0127cba0] No accelerated colorspace conversion found from yuv422p to
 bgr24.
[swscaler @ 0127cba0] No accelerated colorspace conversion found from yuv422p to
 bgr24.
[swscaler @ 00f94fe0] No accelerated colorspace conversion found from yuv422p to
 bgr24.
[swscaler @ 00f94fe0] No accelerated colorspace conversion found from yuv422p to
 bgr24.

...

[swscaler @ 01000480] No accelerated colorspace conversion found from yuv422p to
 bgr24.
[swscaler @ 01000480] No accelerated colorspace conversion found from yuv422p to
 bgr24.
[swscaler @ 01000480] No accelerated colorspace conversion found from yuv422p to
 bgr24.

...

Такие ошибки идут постоянно при каждом кадре.
OpenCV 2.3.1, Visual Studio 2010, Windows XP SP3


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
iff
Дата 14.2.2016, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: нет
Всего: 16



Установил вместо opencv 2.3.1 версию 2.2.0
Теперь такой кучи ошибок нет, но подключается долго (долще чем браузер) и в начале выдаёт пару ошибок:
Код

[mjpeg @ 0x19e0070]max_analyze_duration reached
[mjpeg @ 0x19e0070]Estimating duration from bitrate, this may be inaccurate
[mjpeg @ 0x1c3f030]max_analyze_duration reached
[mjpeg @ 0x1c3f030]Estimating duration from bitrate, this may be inaccurate



--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
baldman88
Дата 15.2.2016, 00:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 18.1.2009

Репутация: 3
Всего: 7



Есть подозрение, что Вы слишком быстро пытаетесь читать кадры с камеры. Читаете с WEB-камеры? Попробуйте читать по таймеру (для 25-ти кадров в секунду время таймера около 40мс).
PM MAIL   Вверх
WERITAS
Дата 15.2.2016, 07:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


********
**


Профиль
Группа: Участник
Сообщений: 582
Регистрация: 2.5.2005
Где: Москва

Репутация: нет
Всего: 5



А можете поподробнее написать что за камера у вас? Вообще веб-камера - это та, что через USB включается. Если у вас такая, то откуда взялся ip-адрес 1.1.1.1 ? И что это за адрес такой? В сетях Windows адреса 192.168.х.х. Куда вы выводите видео с камеры? Тупо в консоль? Почему в файл сохранить не попробовали?


--------------------
Арт-менеджер клуба, разрешивший концерт Алексея Глызина, уволен с формулировкой "Мудак"
PM MAIL   Вверх
iff
Дата 15.2.2016, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: нет
Всего: 16



Цитата(baldman88 @  15.2.2016,  00:38 Найти цитируемый пост)
Есть подозрение, что Вы слишком быстро пытаетесь читать кадры с камеры.

По всей вероятности метод read ждет следующего кадра (выполняя события windows), т.е. цикл проходится не предельно быстро а с такой частотой, сколько кадров в секунду даёт камера.
Т.е. если waitKey(1) заменить на waitKey(30), то ничего не измениться в отношении частоты прохода цикла и частоты кадров (одна из причин - внутри цикла не надо ничего считать), а если заменить на waitKey(1000) то fps понизиться до 1 кадра в екунду.
Ошибка возникает во время исполнения метода open. Причем после того, как подождать пока все заработает в начале видео идёт ускоренно. Скорее всего он воспринемает адрес на on-line трансляцию на адрес на обычный файл и пытается его загрузить в буфер, потом, то что загрузилось показывается максимально быстро (если стоит waitKey(1)). Т.е. если изменить open(videoStreamAddress) на open(0), такой ошибки не происходит и он сразу начинает показывать видео, т.к. понимает что open(0) это значит нужно открыть камеру подключенную к компьютеру.

Цитата(WERITAS @  15.2.2016,  07:06 Найти цитируемый пост)
А можете поподробнее написать что за камера у вас? Вообще веб-камера - это та, что через USB включается. Если у вас такая, то откуда взялся ip-адрес 1.1.1.1 ? И что это за адрес такой? 

Это, правельнее сказать, on-line трансляция с web-камеры, которая выходит на улицу города. Адрес на самом деле не 1.1.1.1.


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0532 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.