vc利用摄像头进行图像采集的问题

来源:百度知道 编辑:UC知道 时间:2024/05/28 14:45:41
CRect rc;
CAPVIDEO.GetWindowRect(&rc);
ScreenToClient(rc);

CAPDRIVERCAPS capd;
CAPSTATUS caps;
tran=NULL;
e.ResetEvent();
AfxBeginThread(vproc,(void*)this);
::WaitForSingleObject(e,INFINITE);

if(capDriverConnect(videohwnd,0)==TRUE)
{
capDriverGetCaps(videohwnd,sizeof(CAPDRIVERCAPS),&capd);
capGetStatus(videohwnd,&caps,sizeof(CAPSTATUS));
::SetParent(videohwnd,*this);

::SetWindowLong(videohwnd,GWL_STYLE,WS_CHILD);
::SetWindowPos(videohwnd,NULL,rc.left,rc.top,
rc.Width(),rc.Height(),SWP_NOZORDER);
::ShowWindow(videohwnd,SW_SHOW);
capPreviewRate(videohwnd,30);
capPreview(videohwnd,true);
}

else
{
AfxMessageBox("创建失败");
}
其中的CAPVIDEO有错误,类型没有定义,什么地方错了?

你的CAOVIDEO明显是一个窗口(应该就是显示图像的窗口吧),类型应该是CWnd。如果用的是MFC的话,你看看你的类向导里面有没有申明这个变量。

<<DirectShow开发指南>>里有这个例子,给你下载地址: