bool CVideoCap::m_InitializeVidWriter(VideoCapture objVidCap,VideoWriter objVidWriter,string FileName)
{
m_GetFrameDimensionandFPS(objVidCap);
string vid;
strcpy(FileName,vid);
cout<< "FileName = " << FileName<<endl;
int codec = CV_FOURCC('M', 'J', 'P', 'G');
bool bVidWriterOpenCheck = objVidWriter.open(vid, codec,m_FPS,
Size(this->m_nframe_width,m_nframe_height), true);
cout<< "bVidWriterOpenCheck = " << bVidWriterOpenCheck<<endl;
return bVidWriterOpenCheck;
}
在这个videowriter open函数中,当我通过字符串变量传递文件名的路径时,它会失败,但是当我将硬编码路径直接输入参数时,它就可以工作。 请提出建议。
答案 0 :(得分:0)
在第4行中,字符串 vid 尚未初始化。 在strcpy调用中,在第5行,第二个变量,即vid充当源,FileName充当目标。 试试这个,
strcpy(vid,FileName);
现在应该工作。