2013-04-26 44 views
1

我的錯誤是:第一QT-OpenCV的程序

error: C2228: left of '.open' must have class/struct/union and i dont know to fix that.

#include "dialog.h" 
#include "ui_dialog.h" 
#include <QTimer> 
#include <stdio.h> 
#include <iostream> 
#include <opencv2\video\video.hpp> 
#include <opencv2\opencv.hpp> 
#include "opencv2/imgproc/imgproc.hpp" 
#include "opencv2/highgui/highgui.hpp" 
#include "opencv2/flann/miniflann.hpp" 

using namespace cv; <i> all the new API is put into "cv" namespace. Export its content</i> 
using namespace std; 

Dialog::Dialog(QWidget *parent) : QDialog(parent),ui(new Ui::Dialog){ 
    ui->setupUi(this); 
    capture.open("E:\\Six Degree of Separation.avi"); 
    tmrTimer = new QTimer(this); 
    connect(tmrTimer,SIGNAL(timeout()),this,SLOT(ProcessFrameAndUpdateGUI())); 
    tmrTimer ->start(20); 
} 
+0

「capture」從哪裏來? – cmannett85 2013-04-26 11:22:40

+0

capture-> open(「E:\\ Six Degree of Separation.avi」); – William 2013-04-26 11:47:50

+0

@Willy這不是它創建的地方。 – cmannett85 2013-04-26 12:20:20

回答

1

應該是cv::VideoCapture capture;一個實例。 你可以用capture.isOpened()檢查它是否打開。如果文件已成功打開或者相機已成功初始化,它將返回true。