我試圖做出的VideoCapture類的OpenCV的「包裝」,但我不能讓它正常工作,我的代碼如下:OpenCV的VideoCapture包裝
#include "opencv2/opencv.hpp"
#include "opencv2/highgui/highgui.hpp"
class wrapper
{
private:
cv::VideoCapture cap;
int device_id;
public:
wrapper();
~wrapper();
void setup(int _device_id);
};
// wrapper.cpp
wrapper::wrapper()
{
device_id = 0;
}
wrapper::~wrapper()
{
cap.release();
}
wrapper::setup(int _device_id)
{
device_id = _device_id;
cap = cv::VideoCapture(device_id);
cout << "Checking device" << endl;
if(!cap.isOpened())
{
cout << "Couldn't open device" << endl;
return;
}
else
{
cout << "Device opened " << endl;
}
}
的問題是它不會打開設備。我在starter_video.exe(OpenCV示例)上檢查過我的設備,並確實打開。
有什麼想法?
順便說一句'的#include'包括一切。如果你只想包含核心,'#include '或#including highgui是沒有必要的。 –
2012-11-01 23:31:45