如何在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%