OpenCV Error: Bad argument (unrecognized or unsupported array type) in u unction

4332 단어
오늘 오류가 발생했습니다: 프로그램이 종료될 때 오류 알림을 보냅니다
OpenCV Error: Bad argument (unrecognized or unsupported array type) in uunction, file ..\..\..\src\opencv\modules\core\src\array.cpp, line 996
그다음에 코드를 넣을게요.
int _tmain(int argc, _TCHAR* argv[])
{
    IplImage* src      = 0;        //  
    IplImage* graySrc  = 0;        //   
    int key = 0;
    CvCapture* capture = cvCaptureFromCAM(0);
    cvNamedWindow("camera");
    cvNamedWindow("gray");
    while( NULL != (src = cvQueryFrame(capture) ) )
    {
        cvShowImage("camera",src);  //       
        if( (key = waitKey(10)) !=-1)//  2ms          key
        {
            printf("press key:%c
",key); if(key == 'q'){ waitKey(10); cvDestroyWindow("camera"); cvDestroyWindow("gray"); break; } } // src graySrc = cvCreateImage(cvSize(src->width,src->height),src->depth,1); cvCvtColor(src,graySrc,CV_BGR2GRAY); cvShowImage("gray",graySrc); } cvReleaseImage(&src); cvReleaseImage(&graySrc); cvReleaseCapture(&capture); return 0; }

한바탕 부추겼더니 메모리 오류인 것 같다.
근거http://blog.csdn.net/zhmyy/article/details/5374111, src와gray는ReleaseImage 이전에 풀렸기 때문에 주소를 찾을 수 없어서 오류 보고를 했습니다
그래서 Release 전에 풀렸는지 판단을 해보도록 하겠습니다.
    if(!src)
        cvReleaseImage(&src);
    if(!graySrc)
        cvReleaseImage(&graySrc);

전재 대상:https://www.cnblogs.com/skiz/archive/2013/04/13/3018635.html

좋은 웹페이지 즐겨찾기