调用`cvCreateCameraCapture(-1)`时异常终止

时间:2012-02-07 08:49:41

标签: c++ qt opencv

我的代码如下。当我在cvCreateCameraCapture(-1)中执行openCamera时,应用程序结束。

提示:异常程序终止。在启动程序期间退出代码为0X000135

为什么呢?电脑是笔记本电脑,内置摄像头。

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    return a.exec();
}

>

#include<highgui.h>
#include<cv.h>

class MainWindow : public QMainWindow
{
    Q_OBJECT  
public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private slots:
    void openCamera();
    void readFrame();
    void closeCamera();
    void takingPhote();

private:
    Ui::MainWindow *ui;
    QTimer* timer;
    QImage* image;
    CvCapture* cam;
    IplImage* frame;
};

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    cam = NULL;
    timer = new QTimer(this);
    image = new QImage;

    connect(ui->openCamera, SIGNAL(clicked()), this, SLOT(openCamera()));
}

void MainWindow::openCamera()
{
   cam = cvCreateCameraCapture(-1);
   // timer->start(33);
   // connect(timer, SIGNAL(timeout()), this, SLOT(readFrame()));
}

1 个答案:

答案 0 :(得分:1)

添加我之前的评论作为答案,因为它帮助您解决了问题:

  

我希望您替换cvCreateCameraCapture()来代替其他内容,例如cvWaitKey(0);。如果这是与环境变量相关的运行时问题,而Windows未找到OpenCV,则会显示此简单测试。因此,如果它继续崩溃,那么它可能真的与环境配置有关。