我最近在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
答案 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
编辑:当使用错误设置的路径进行测试时,我得到一个灰色图像,因此我确信您的代码无法找到图像。