Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Emgu Cv中写入视频时出错_C#_Opencv_Emgucv - Fatal编程技术网

C# 在Emgu Cv中写入视频时出错

C# 在Emgu Cv中写入视频时出错,c#,opencv,emgucv,C#,Opencv,Emgucv,我试图用Emgu CV录制从网络摄像头捕获的视频,但我遇到了一个例外 _capture = new Capture(0); _capture.QueryFrame(); captureOutput = new VideoWriter(@"output.avi", (int)_capture.GetCaptureProperty(Emgu.CV.CvEnum.CAP_PROP.CV_CAP_PROP_FOURCC),

我试图用Emgu CV录制从网络摄像头捕获的视频,但我遇到了一个例外

_capture = new Capture(0);
_capture.QueryFrame();
captureOutput = new VideoWriter(@"output.avi",
                                (int)_capture.GetCaptureProperty(Emgu.CV.CvEnum.CAP_PROP.CV_CAP_PROP_FOURCC),
                                (int)_capture.GetCaptureProperty(Emgu.CV.CvEnum.CAP_PROP.CV_CAP_PROP_FPS),
                                (int)_capture.GetCaptureProperty(Emgu.CV.CvEnum.CAP_PROP.CV_CAP_PROP_FRAME_WIDTH),
                                (int)_capture.GetCaptureProperty(Emgu.CV.CvEnum.CAP_PROP.CV_CAP_PROP_FRAME_HEIGHT),
                                true);
Image<Bgr, Byte> frame = _capture.QueryFrame();
captureOutput.WriteFrame(frame);
\u捕获=新捕获(0);
_capture.QueryFrame();
captureOutput=new VideoWriter(@“output.avi”),
(int)_capture.GetCaptureProperty(Emgu.CV.CvEnum.CAP\u PROP.CV\u CAP\u PROP\u FOURCC),
(int)_capture.GetCaptureProperty(Emgu.CV.CvEnum.CAP\u PROP.CV\u CAP\u PROP\u FPS),
(int)_capture.GetCaptureProperty(Emgu.CV.CvEnum.CAP\u PROP.CV\u CAP\u PROP\u FRAME\u WIDTH),
(int)_capture.GetCaptureProperty(Emgu.CV.CvEnum.CAP\u PROP.CV\u CAP\u PROP\u FRAME\u HEIGHT),
正确的);
图像帧=_capture.QueryFrame();
captureOutput.WriteName(帧);
我在执行captureOutput.WriteName(帧)行时遇到“试图除以零”异常。

引用注释:

问题在于选择合适的编码解码器进行录制。我更改了下面第3行的部分内容:

\u capture.GetCaptureProperty(Emgu.CV.CvEnum.CAP\u PROP.CV\u CAP\u PROP\u FOURCC)
带-1


这为我提供了一个对话框,其中列出了我机器上可用的编解码器列表。我选择了“未压缩”编解码器,视频正确生成。

Ok解决了问题。问题在于选择合适的编码解码器进行录制。我将下面第3行的部分内容更改为:_capture.GetCaptureProperty(Emgu.CV.CvEnum.CAP_PROP.CV_CAP_PROP_FOURCC)和-1。这为我提供了一个对话框,其中列出了我机器上可用的编解码器列表。我选择了“未压缩”编解码器,视频已正确生成。祝贺您解决了问题。请将此作为答案发布@希瓦姆:请把你的答案贴出来,然后结束这个问题。