我正在使用visual studio 2010和opencv开发项目。这是我的问题:我从网络摄像头获取视频,分析它,对其进行一些操作然后我在另一个窗口中显示结果(对象跟踪)。代码没问题,没有编译错误,但是一旦启动程序,控制台窗口立即关闭,我看不到原始视频和修改后的视频。如果我调试代码,我可以看到网络摄像头的工作和获取图像,但显然我需要实时这样做。有什么建议吗?
答案 0 :(得分:0)
你能提供任何代码吗? 您是否正在编写和编译任何类似的视频播放器程序?
#include "opencv2/opencv.hpp"
using namespace cv;
int main(int, char**)
{
VideoCapture cap(0); // open the default camera
//Video Capture cap(path_to_video); // open the video file
if(!cap.isOpened()) // check if we succeeded
return -1;
namedWindow("Video",1);
for(;;)
{
Mat frame;
cap >> frame; // get a new frame from camera
imshow("Video", frame);
if(waitKey(30) >= 0) break;
}
// the camera will be deinitialized automatically in VideoCapture destructor
return 0;
}
答案 1 :(得分:0)
试试这个:
#include <iostream>
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
using namespace cv;
using namespace std;
int main() {
VideoCapture cap(0);
while (true)
{
Mat imgOriginal;
Mat imgHSV;
bool bSuccess = cap.read(imgOriginal);
cvtColor(imgOriginal, imgHSV, COLOR_BGR2HSV); //Convert the captured frame from BGR to HSV
imshow("Thresholded Image", imgHSV);
imshow("Original", imgOriginal);
waitKey(33);
}
return 0;
}