Сейчас набросал тестовую программку, чтобы посмотреть содержимое 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.