0

単純なプログラムでも、メモリと例外でエラーが発生しました。デバッグ中のコードブロック + mingw - SIGSEGV、コール スタック - user32.dll。ランタイムが 0xc0000005 エラーでクラッシュします。未処理の例外で VC もクラッシュします。

#include "opencv2/video/tracking.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv/cv.h"
#include "opencv/highgui.h"

#include <iostream>
#include <ctype.h>
#include <stdlib.h>
#include <stdio.h>


using namespace cv;
using namespace std;

int main(int argc, char* argv[])
{
    CvCapture* capture = cvCreateCameraCapture(CV_CAP_ANY); //cvCaptureFromCAM( 0 );
    assert( capture );

    IplImage* frame=0;

    cvNamedWindow("capture", CV_WINDOW_AUTOSIZE);

    int counter=0;
    char filename[512];

    while(true){

            frame = cvQueryFrame( capture );


            cvShowImage("capture", frame);

            char c = cvWaitKey(33);
            if (c == 27) { 
                    break;
            }

    }

    cvReleaseCapture( &capture );
    cvDestroyWindow("capture");
    return 0;
  }
4

2 に答える 2

0

次の行を交換しようとしましたか:

cvDestroyWindow("capture");

cvReleaseCapture( &capture );

cvDestroyWindowよりも前に電話するべきだと思いますcvReleaseCapturecaptureウィンドウが の所有者になったので、最初に破棄する必要があると思います。

于 2013-06-26T05:39:25.250 に答える