代码
// myimg.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <stdio.h>
#include <math.h>
#include <cv.h>
#include <highgui.h>
using namespace std;
using namespace cv;
void mydraw(Mat & cflowmap,const Scalar &color)
{
rectangle(cflowmap,Point(10,10),Point(cflowmap.cols-10,cflowmap.rows-10),color);
}
int cap()
{
VideoCapture cap(0);
if( !cap.isOpened() )
return -1;
Mat prevgray, gray, flow, cflow, frame;
namedWindow("flow", 1);
for(;;)
{
cap >> frame;
gray=frame;
if( prevgray.data )
{
cflow=prevgray;
mydraw(cflow,CV_RGB(255, 0, 0));
imshow("flow", cflow);
}
if(waitKey(1)>=0)
break;
std::swap(prevgray, gray);
}
return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
cap();
return 0;
}
从OpenCV带的例子中"精简"出来的一个视频捕捉程序,程序实现从摄象头捕捉图象,并在图象上画一个矩形框.