我在 Windows 8 中使用 OpenCV 2.3.1。当我调用函数 cvShowImage
时,程序崩溃。我正在使用代码块,但我不知道为什么会发生这种情况。
如果我注释掉该行,程序就会运行良好。
代码如下:
IplImage *img1=NULL;
img1=cvLoadImage("LenaComFormas.pgm",CV_LOAD_IMAGE_GRAYSCALE);
cvShowImage("Original", img1);
cvWaitKey(0);
最佳答案
您的代码在 Windows7 上的 Qt 和 opencv 2.4.3 上运行良好...您可以进行可能的检查...
- 检查库的链接...opencv_core231、opencv_highgui231、opencv_imgproc231...检查是否包含 opencv2/opencv/core.hpp opencv2/opencv/highgui.hpp。
- 检查 IplImage 指针 img1
IplImage *img1 = cvLoadImage("",0);
if(img1==NULL)
返回-1;
3.检查 *.pgm 图像的支持...或者获取最新的 opencv 并尝试...
编辑.. 4.只是为了检查尝试以下..
#include <opencv/opencv2/core.hpp>
#include <opencv/opencv2/highgui.hpp>
using namespace cv;
int main()
{
Mat image;
image = imread("",0);
imshow("TEST",image);
waitKey(0);
return 0;
}
关于c - 函数cvShowImage使程序崩溃。为什么?开放式CV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13905201/