我是一名学生,正在使用 Xcode 学习 OpenCV。
在谷歌搜索的帮助下,我在搜索路径中包含了 OpenCV 文件目录并添加了 OpenCV 框架。我在项目文件夹中包含了带有 jpeg 或 png 扩展名的测试图像,并将其加载到 Xcode 中。
我写下了基本的OpenCV代码,当我编译它时,“空指针错误”不断出现。
#include <opencv/cv.h>
#include <opencv/highgui.h>
int main()
{
IplImage *img = cvLoadImage("./ex2-4/background.jpeg", CV_LOAD_IMAGE_COLOR);
if ( img == NULL ) {
printf("Error : null pointer is entered\n");
}
cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE);
cvShowImage("Example1", img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("Example1");
return 0;
}
错误信息如下:
错误:输入了空指针 OpenCV 错误:cvGetMat 中的空指针(传递 NULL 数组指针),文件/opt/local/var/macports/build/_opt_mports_dports_graphics_opencv/opencv/work/opencv-2.4.10/modules/core/src/array.cpp,行2382 libc++abi.dylib:以 cv::Exception 类型的未捕获异常终止:/opt/local/var/macports/build/_opt_mports_dports_graphics_opencv/opencv/work/opencv-2.4.10/modules/core/src/array.cpp :2382:错误:(-27)函数 cvGetMat 中传递了 NULL 数组指针
程序结束,退出代码:9
PS:不过,它在 Visual Studio 中运行得很好,但我想在 Xcode 上运行。
最佳答案
即使你的问题得到了解答,但以下代码片段是危险的根源:
if ( img == NULL ) {
printf("Error : null pointer is entered\n");
}
你知道img
是NULL
并继续执行。在这种情况下应该终止执行,
if ( img == NULL ) {
printf("Error : null pointer is entered\n");
return -1;
}
关于c - OpenCV 使用 Xcode 时出现空指针错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28467808/