roboforum.ru

Технический форум по робототехнике.
Текущее время: 17 фев 2025, 08:18

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Получение кадров с тв-тюнером в OpenCV
СообщениеДобавлено: 23 ноя 2011, 21:30 
Не в сети

Зарегистрирован: 11 дек 2010, 22:35
Сообщения: 3
Добрый день, Товарищи!

Столкнулся с проблемкой. Написал приложение (на основе библиотеки OpenCV), которое получает видео-данные с web-камеры. Все работает отлично.
Сейчас появилась необходимость получить данные с аналоговой камеры. Для видео-захвата использую тв-тюнер, но вот беда, написанная программа отказывается отображать корректно такого рода данные.

До этого программировал в Matlab. Там можно посмотреть список устройств видео-захвата. Аналоговая камера показывалась в списке доступных устройств.

Кто-нибудь сталкивался с подобной задачей?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Получение кадров с тв-тюнером в OpenCV
СообщениеДобавлено: 23 ноя 2011, 22:26 
Не в сети
Аватара пользователя

Зарегистрирован: 21 май 2007, 22:57
Сообщения: 600
Откуда: Калининград
прог. языки: C++
возможно придётся повозиться, но если под win32, то попробуйте videoInput
или же соберите отладочную версию OpenCV и зайдите в cvCreateCameraCapture, чтобы понять какой метод захвата пытается использовать библиотека.

_________________
RoboCraft.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Получение кадров с тв-тюнером в OpenCV
СообщениеДобавлено: 23 ноя 2011, 22:56 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Я нашел только такое решение - перед каждым запуском своей OpenCV-программы я запускал программу, которая шла с ТВ-тюнером и переключал его на правильный канал и тип входного сигнала + разрешение, после чего выключал её и включал свою программу, в этом случае изображение с ТВ-тюнера в нужном разрешении и формате шло как будто с вебкамеры.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Получение кадров с тв-тюнером в OpenCV
СообщениеДобавлено: 23 ноя 2011, 23:06 
Не в сети
Аватара пользователя

Зарегистрирован: 04 фев 2009, 16:02
Сообщения: 320
Откуда: Десногорск
прог. языки: VB, MicroC, Pascal, С++ Builder
Где-то 4 месяца назад пытался с тюнером работать. Куча нервов, бессонные ночи, но всё без толку. Даже к Direct обращался. В итоге решил пойти на обман. Программой OpenVideoCapture вывожу в окно изображение с тюнера, а программой на VisualC++ захватывал его из этого окна и переводил в тип cvImage. Далее дело техники.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Получение кадров с тв-тюнером в OpenCV
СообщениеДобавлено: 25 ноя 2011, 11:05 
Не в сети

Зарегистрирован: 11 дек 2010, 22:35
Сообщения: 3
Сейчас набросал тестовую программку, чтобы посмотреть содержимое CvCapture *capture.
Код:
#include "stdafx.h"
#include "conio.h"
#include "opencv/highgui.h"
#include "iostream"

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{   CvCapture* capture = 0;
   capture = cvCreateCameraCapture(0);
   if(!capture){
      return -1;
   }
   IplImage *bgr_frame=cvQueryFrame(capture);
   cout << bgr_frame->depth;
   cout << bgr_frame->width;
   getch();
   return 0;
}

Web-камеры не подключены. Из устройств видео-захвата только tv-tuner.
Поставил BreakPoint. Содержимое capture посмотреть нельзя. Поэтому смотрю, что содержится а IplImage *bgr_frame:
nSize = 112
nChannels = 3
depth = 8
colorModel = "RGB"
channelSeq = "BGR"
align = 4
heigh = 4 (Вот тут я не пойму, почему высота 4, а не 480 например, как при подключении web-камеры)
width = 0
widthStep = 0

Таким образом, получается, что программа подхватывает видео-поток, но в нем содержится не то, что мне нужно. Не оцифрованное видео с композитного входа. Как бы изменить настройки тюнера, чтобы он выдавал то, что я от него жду.

Вариант, которые предложил =DeaD=, хоть и показался не технологичным, но даже он не сработал.
Romeo, это крайний случай, хочется, для начала, попробовать максимально технологичным путём получать изображение с tv-tuner'a.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Получение кадров с тв-тюнером в OpenCV
СообщениеДобавлено: 22 авг 2014, 12:23 
Не в сети

Зарегистрирован: 22 авг 2014, 11:59
Сообщения: 1
Прошу помощи у знающих! Помогите разобраться с видеозахватом. У меня USB ТВ-тюнер Compro VideoMate и аналоговая камера с композитным выходом. Фирменная программа тюнера отображает видео, а моя QT-прога с OpenCV не хочет:

CvCapture* capture = 0;
capture = cvCreateCameraCapture(0);
cvNamedWindow("capture", CV_WINDOW_AUTOSIZE);
IplImage *frame=cvQueryFrame(capture);
frame=cvQueryFrame(capture);
cvShowImage("capture", frame);

На экран выводится черный прямоугольник, хотя разрешение в переменной frame содержится правильное. Подскажите, где я ошибся?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO