Аварийное завершение при вызове `cvCreateCameraCapture (-1)` - PullRequest
0 голосов
/ 07 февраля 2012

Мой код, как следует. Когда я выполняю 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 Ответ

1 голос
/ 08 февраля 2012

Добавление моего предыдущего комментария в качестве ответа, поскольку оно помогло вам решить проблему:

Я хочу, чтобы вы заменили вызов cvCreateCameraCapture() чем-то другим, например cvWaitKey(0);. Если это проблема времени выполнения, связанная с переменными среды и Windows не находит OpenCV, этот простой тест покажет. Так что, если он продолжает падать, это может быть связано с конфигурацией среды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...