停止相机捕获EmguCV



如何在EmguCV 2.X中停止相机捕获并确保我的应用程序中不再连接到相机。

似乎没有像OpenCV那样的release()函数。

代码的相关部分:

捕获定义:

Emgu::CV::Capture^ capture; // Creates a capture object

在"开始"按钮上,单击:

capture = gcnew Emgu::CV::Capture(_CameraIndex); //create a camera capture

如果我在初始化后添加以下内容:

capture.Dispose(); //To stop and call Garbage Collector

然后它给了我以下错误:

Dispose is not a member of Emgu::CV::Capture

是的,删除调用析构函数的对象是安全的,然后Dispose() .您可以将其更改为 if (capture != nullptr) delete capture; .

事实证明,虽然Dispose不是一种方法,但我可以delete对象,然后重新初始化它

capture = gcnew Emgu::CV::Capture(cameraIndex);
delete capture;
capture = gcnew Emgu::CV::Capture(cameraIndex);

AFAIK 这样做本身没有什么危险,但我不是 100%

最新更新