gpt4 book ai didi

c++ - OpenCV SIGSEGV C++ minGW

转载 作者:行者123 更新时间:2023-11-28 07:51:27 24 4
gpt4 key购买 nike

即使在简单的程序中也会出现内存错误和异常。调试中的 Codeblocks+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;
}

最佳答案

我在您的代码中没有发现任何错误。也许这是一些库的错误。

但是你为什么要用这个旧的OpenCV版本。使用 C++ 更容易

#include "opencv2/opencv.hpp"

using namespace cv;

int main(int, char**)
{
VideoCapture cap(0); // open the default camera
if(!cap.isOpened()) // check if we succeeded
return -1;

while(true)
{
Mat frame;
cap >> frame; // get a new frame from camera
imshow("frame", frame);
if(waitKey(30) >= 0) break;
}
// the camera will be deinitialized automatically in VideoCapture destructor
return 0;
}

关于c++ - OpenCV SIGSEGV C++ minGW,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13696738/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com