- Код: Выделить всё • Развернуть
#include "stdafx.h"
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
#include <iostream>
using namespace std;
void processFrame(IplImage*& image);
int main(int argc, char** argv)
{
// Инициализируем источник наших изображений.
// В данном случае - это видеокамера, подключенная по
// одному из интерфейсов. 0 означает, что надо
// выбрать первую попавшуюся камеру. У нас их одна,
// поэтому не стоит волноваться по этому поводу :)
CvCapture* capture = 0;
capture = cvCreateCameraCapture(0);
if (!capture)
{
cout << "Initialization failed" << endl;
return EXIT_FAILURE;
}
// Работа с GUI упрощена до невозможного. Необходимо
// определить идентификатор (по совместительству -
// заголовок окна), по которому мы будем определять
// наши окна.
const char *windowName = "First steps with OpenCV";
cvNamedWindow(windowName, CV_WINDOW_AUTOSIZE);
while(true)
{
// Опрашиваем камеру для получения следующего кадра
IplImage* frame = cvQueryFrame( capture );
if(!frame)
break;
// processFrame(frame);
// Отобразим наш фрейм в окне (не забыли, как мы его
// определили? - через идентификатор)
cvShowImage(windowName, frame);
// По нажатию ESC - выход из цикла
char c = cvWaitKey(33);
if (c == 27)
break;
}
// Никогда не забываем освобождать память!
cvReleaseCapture( &capture );
cvDestroyWindow(windowName);
return 0;
}
Хотелось бы узнать, как можно научить opencv отличать движущиеся объекты от неподвижных. Говорят это легко, но мне еще пока не с чем сравнивать.
Кто знает подскажите...