利用OPencv在摄像头捕捉的动态画面中显示红线
#include "cxcore.h"
#include "cvcam.h"
#include "windows.h"
#include "highgui.h"
void callback(IplImage* image);
int main()
{
int ncams=cvcamGetCamerasCount();
HWND MyWin;
cvcamSetProperty(0, CVCAM_PROP_ENABLE, CVCAMTRUE);
cvcamSetProperty(0, CVCAM_PROP_RENDER, CVCAMTRUE);
MyWin=(HWND)cvGetWindowHandle("CameraUSB window");
cvcamSetProperty(0,CVCAM_PROP_WINDOW,&MyWin);
cvcamSetProperty(0,CVCAM_PROP_CALLBACK,callback);
cvcamInit();
cvcamStart();
cvWaitKey(0);
cvcamStop();
cvcamExit();
return 0;
}
// 在图像中画红色水平线
void callback(IplImage* image) {
IplImage* image1 = image;
int i,j;
assert (image);
for(i=0; iheight; i+=10)
{
for(j=(image1->widthStep)*i;
j<(image1->widthStep)*(i+1);
j+=image1->nChannels)
{
image1->imageData[j]= 0;
image1->imageData[j+1] =(char)255;
image1->imageData[j+2] = 0;
}
}
}