cvShowImage 使系统抛出异常

cvShowImage makes the system to throw exceptions

我有一个使用 cvopen 库的 C 语言代码。 这是代码:

    #include <stdio.h>
#include <opencv2\highgui\highgui_c.h>


int main(void)
{
    int i;
    cvNamedWindow("Display window", CV_WINDOW_AUTOSIZE); //create a window
                                                         //create an image
    IplImage* image = cvLoadImage("C:\Users\magshimim\Desktop\Mummy.png", 1);
    if (!image)//The image is empty.
    {
        printf("could not open image\n");
    }
    else
    {
        cvShowImage("Display window", image);
        cvWaitKey(0);
        system("pause");
        cvReleaseImage(&image);
    }

    getchar();
    return 0;
}

第 17 行 "cvShowImage("显示 window", image);"系统抛出异常:

Exception thrown at 0xAD76406A in Q4.exe: 0xC0000008: An invalid handle was specified

cvopen 包没问题,其他功能也可以。但是这段代码(可以在其他计算机上运行)每次都会崩溃。 我该如何解决这个问题?

cvShowImage 是 OpenCV 中旧的 C 风格命名约定的一部分。这个旧约定已完全弃用,并且与 OpenCV 3.0 及更高版本不兼容。

尝试使用 imshow 而不是 cvShowImage imshow("Display Window", 图片);