Visual C ++中针对OpenCV hello world程序的未处理异常

时间:2012-07-18 12:11:26

标签: visual-studio-2010 opencv

我最近在Visual Studio 2010中设置了openCV 2.3.1。我使用cmake进行设置并设法运行简单的“hello world”代码,如下所示:

            #include "stdafx.h"

            #include <opencv2/opencv.hpp>
            #include <cxcore.h>
            #include <highgui.h>

            int _tmain(int argc, _TCHAR* argv[])
            {
                 IplImage *img = cvLoadImage("funny-pictures-cat-goes-pew.jpg");
                 cvNamedWindow("Image:",1);
                 cvShowImage("Image:",img);

                 cvWaitKey();
                 cvDestroyWindow("Image:");
                 cvReleaseImage(&img);

                 return 0;
             }

这段代码能够第一次运行,虽然它显示的是灰色图像而不是猫。当我试图看到错误时,它开始发出以下错误;某个内存位置的未处理异常 ...:![在此处输入图像说明] [1](由于信誉点较低,无法上传图片。但我希望您理解我的问题描述..

此致 Ruzzar

1 个答案:

答案 0 :(得分:1)

您能否重新检查* img是否已正确填写?

我刚测试了这个,只有一次改变,我的图像路径是绝对的(IplImage *img = cvLoadImage("D:\\Development\\TestProjects\\OpenCVTest\\funny-pictures-cat-goes-pew.jpg");),除此之外。它在我的系统上运行得非常好。

使用OpenCV 2.4.2,图片来自 http://i288.photobucket.com/albums/ll169/critterclaw101/funny/funny-pictures-cat-goes-pew.jpg

编辑:当使用错误设置的路径进行测试时,我得到一个灰色图像,因此我确信您的代码无法找到图像。