下面是我程序中一段视频存储的代码,现在的问题是录制的视频总是有拖影,看起来有条纹状,真的是纠结了好久了,大家指点下问题出哪了呀?
说明:cvCreateVideoWriter中参数 fourcc我基本都逐一试过了,压缩方式也基本都选择过了
void CWatcherDlg::OnRecord()
{
if(!nCams)
{
AfxMessageBox("Cannot find USB camera!");
return;
}
bRecord = !bRecord;
if(bRecord && m_bGrabIsStarted)
{
CString Cfilename;
CFileDialog dlg(FALSE,"*.* *.*","",OFN_HIDEREADONLY,"AVI (*.avi)|*.avi",this);
dlg.m_ofn.lpstrTitle = "Save AVI file";
if(dlg.DoModal() == IDOK)
{
Cfilename=dlg.GetPathName();
sAVIFileName = Cfilename.GetBuffer(MAX_PATH);
writer=cvCreateVideoWriter(sAVIFileName, -1, 5, cvSize(320,240));
GetDlgItem(IDC_RECORD)->SetWindowText("Stop Rec");
}
else
bRecord = !bRecord;
}
else
{
GetDlgItem(IDC_RECORD)->SetWindowText("Record");
cvReleaseVideoWriter(&writer);
}
} |