如何在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
答案 0 :(得分:1)
是的,删除调用析构函数的对象,然后Dispose()
,这是安全的。您可以将其更改为if (capture != nullptr) delete capture;
。
答案 1 :(得分:0)
事实证明,虽然Dispose不是一种方法,但我只能delete
该对象,然后重新初始化它
capture = gcnew Emgu::CV::Capture(cameraIndex);
delete capture;
capture = gcnew Emgu::CV::Capture(cameraIndex);
AFAIK这样做并没有什么本质上的危险,但我不是100%