我在使用Visual Studio 2008(专业版)时尝试使用OpenCV遇到了一些困难。我相信我已经完成了运行OpenCV示例所需的一切,但由于运行时错误导致崩溃。这让我疯了,我希望有人可以提供帮助。
但首先要做的事情。
从sourcefourge.net下载OpenCV 2.4.5。
出现提示时,我选择了“Z:\ Games instalados \ OpenCV”作为从上面链接下载的.exe中的“Extract to”选项。
去“控制面板” - > “系统” - > “高级系统设置”,然后单击“高级”选项卡中的“环境变量”。在“系统变量”框中,我突出显示“路径”,然后单击“编辑...”。在新窗口中,我在“变量值”的文本末尾添加了一个带有“;”的安装目录在它之前,即“; Z:\ Games instalados \ OpenCV \ opencv \ build \ x86 \ vc11 \ bin”(不带双引号)。这是一个屏幕截图:。
我也尝试过hough lines示例,但是效果不好(即使图像与.exe imread()在同一个文件夹中也找不到图像)。
非常感谢任何帮助。
如果我没有明确说明某些安装步骤,请发表评论。
我已经详细介绍了一个完整的安装程序(从头开始),用于与Visual Studio 2008一起使用的最新版OpenCV。如果有人解决了这个问题,我们将为具有相同必要性的任何人提供完整的工作教程(使用最新的OpenCV与visual studio 2008),并且可能(因为安装程序的深度)是安装最新OpenCV与大多数Visual Studio版本的一般指南(不仅仅是2008年,因为教程不会有太大变化,并且读者可以很容易地适应它)。
答案 0 :(得分:1)
我建议你是否要测试opencv的正确安装。只需在opencv中加载simple.jpg图像并显示它。如果这样可行,那么您可以开始调试崩溃的程序。您可以通过连续启用cout来调试它。可能首先在示例cout_mat.cpp中启用默认cout并对其余部分进行注释 以下是您可以尝试测试安装的简单加载程序。
int main(int argc, char*argv[])
{
cvNamedWindow("My_Win", CV_WINDOW_AUTOSIZE);
IplImage *img = cvLoadImage("C:\\vid_an2\\Desert.jpg", CV_LOAD_IMAGE_UNCHANGED );
std::cout<<"Info About Image"<<std::endl;
std::cout<<"Size of Image "<<img->nSize<<std::endl;
std::cout<<"Image channels "<<img->nChannels<<std::endl;
std::cout<<"Image Width "<<img->width<<std::endl;
std::cout<<"Image Height "<<img->height<<std::endl;
std::cout<<"Image Depth "<<img->depth<<std::endl;
std::cout<<"Image WidhtStep "<<img->widthStep<<std::endl;
std::cout<<"Image Size "<<img->imageSize<<std::endl;
cvShowImage("My_Win", img);
cvWaitKey(0);
// Free the resources.
cvDestroyAllWindows();
cvReleaseImage(&img);
return 0;
}
答案 1 :(得分:1)
由于您使用的是VS2008,请将Z:\Games instalados\OpenCV\opencv\build\x86\vc11
更改为Z:\Games instalados\OpenCV\opencv\build\x86\vc9
。 vc11文件夹用于VS2012,vc9用于VS2008。