gpt4 book ai didi

c++ - 无法使用 VideoWriter 从网络摄像头捕获中写入

转载 作者:行者123 更新时间:2023-11-28 06:47:40 27 4
gpt4 key购买 nike

我正在尝试将网络摄像头的记录写入文件。为此,我使用以下代码。我一直得到 2 的退出代码。有人可以帮我找出问题所在吗?我以前使用过类似的函数调用,将一个视频文件的帧写入一个新文件,并且有效。无法理解这种情况下的问题所在。

代码片段如下:

int main(int argc, char *argv[]){

 cv::Mat frame;
cv::VideoCapture cap(0);
cv::BackgroundSubtractorGMG bg;
bg.numInitializationFrames=120;
bg.decisionThreshold = 0.95;
bg.maxFeatures = 10;

double fps = cap.get(CV_CAP_PROP_FPS);
CvSize frameSize;
frameSize.height = cap.get(CV_CAP_PROP_FRAME_HEIGHT);
frameSize.width = cap.get(CV_CAP_PROP_FRAME_WIDTH);
VideoWriter VW1("resultbuff.avi",CV_FOURCC('M','P','E','G'), fps, frameSize, 1);
VideoWriter VW2("recordingbuff.avi",CV_FOURCC('M','P','E','G'), fps, frameSize, 1);
VideoWriter VW3("finalResult.avi",CV_FOURCC('M','P','E','G'), fps, frameSize, 1);


if (!VW1.isOpened())
{
std::cout << "!!! Output video could not be opened" << std::endl;
return 2;
}

if (!VW2.isOpened())
{
std::cout << "!!! Output video could not be opened" << std::endl;
return 3;
}

if (!VW3.isOpened())
{
std::cout << "!!! Output video could not be opened" << std::endl;
return 4;
}

如前所述,程序以代码 2 退出。

最佳答案

好的,我找到了答案。这是 dll 的错误。我在 Debug模式下运行程序,链接的 openCV dll 用于 Release模式。

关于c++ - 无法使用 VideoWriter 从网络摄像头捕获中写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24674354/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com