急急急,怎样正确的设置usb摄像头的采集帧率???
rt。
我用directshow对摄像头进行设置,用的是网上的CCaptureVideo类,通过设置下面来实现一帧一帧的数据采集
CComPtr <ISampleGrabber> m_pGrabber;
CComQIPtr < IBaseFilter, &IID_IBaseFilter > pGrabBase( m_pGrabber );
hr = m_pGrabber->SetBufferSamples( FALSE);
hr = m_pGrabber->SetOneShot( FALSE );
hr = m_pGrabber->SetCallback( &mCB, 1 );
我的帧率通过对摄像头的源filter进行设置
VIDEOINFOHEADER *pVih = (VIDEOINFOHEADER*)pmtConfig->pbFormat;
// pVih contains the detailed format information.
pVih->bmiHeader.biWidth=320;
pVih->bmiHeader.biHeight=240;
pVih->AvgTimePerFrame = (LONGLONG)(10000000 / FRAMERATE); //FRAMERATE == 25
hr = pVSC->SetFormat(pmtConfig);//重新设置视频格式
问题是这样设置后,有的时候正常有的时候帧率不正常,我采集的是没有压缩过的数据,yuv420格式的。而且感觉晚上不正常时候多,请问这是怎么回事???
[解决办法]
先用graphedit操作一下,看是不是硬件或驱动本身的问题。
[解决办法]
确定下你的摄像头能被修改吗?