我正在尝试在OpenCV中释放相机并重新初始化,但问题是我无法正确释放相机。询问OpenCV中的cv :: VideoCapture,相机是否打开,它说已关闭,但小LED仍然发光,并且我无法在同一相机周围创建另一个VideoCapture对象。
这是我使用的包含:
#include <opencv2/opencv.hpp>
这是一个展示问题的简短代码示例:
cv::VideoCapture cap(0);
for(int i = 0; i < 20; i++) {
cv::Mat frame;
cap >> frame;
cv::imshow("Test", frame);
if (cv::waitKey(30) >= 0) { break; }
}
cap.release();
std::cout << "Camera is closed is : " << !cap.isOpened() << std::endl;
while(true) {
if (cv::waitKey(30) >= 0) { break; }
}
如前所述,输出显示相机已关闭,但LED灯仍在闪烁。当我尝试在相机周围创建一个新的VideoCapture时,它失败了,并显示相机正忙。
有什么想法吗?