在Visual C++ 2010 Express中安装OpenCV 2.4.3

60

如何在VC ++ 2010 Express下安装和使用OpenCV 2.4.3?


4
《可以自问自答》(It’s OK to Ask and Answer Your Own Questions)是一篇关于如何在Stack Overflow网站上发布问题的博客。该博客鼓励用户提出自己遇到的问题,并在解决问题之后回答自己的问题以帮助其他可能会遇到相同问题的人。这种行为不仅可以帮助社区中的其他人,还可以帮助提高自己的技能水平。 - flowfree
2
我完全没有看到自我推销/声望积累方面的问题(除了我们在这里做的一切都以某种方式进行自我推销)。但是,尽管这些教程看起来很好,但它们并不适合在Stack Overflow上发布 - 请参阅http://meta.stackexchange.com/questions/134645/is-stackoverflow-a-central-store-for-tutorials上的Meta讨论。 - Pekka
1个回答

131

1. 安装OpenCV 2.4.3

首先,从sourceforge.net获取OpenCV 2.4.3。这是一个自解压文件,只需双击即可开始安装。将其安装在一个目录中,比如说C:\

OpenCV self-extractor

请等待所有文件解压完毕。它将创建一个名为C:\opencv的新目录,其中包含OpenCV头文件、库、代码示例等。
现在,您需要将目录C:\opencv\build\x86\vc10\bin添加到系统PATH中。该目录包含运行您的代码所需的OpenCV DLL。
打开控制面板系统高级系统设置高级选项卡→环境变量...

enter image description here

在“系统变量”部分,选择 Path(1),编辑(2),并键入 C:\opencv\build\x86\vc10\bin;(3),然后单击确定

在某些计算机上,您可能需要重新启动计算机才能使系统识别环境路径变量。

这将完成在您的计算机上安装OpenCV 2.4.3。


2. 创建新项目并设置Visual C++

打开Visual C++,选择 文件新建项目...Visual C++空项目。为您的项目命名(例如:cvtest),并设置项目位置(例如:c:\projects)。

New project dialog

点击 确定。Visual C++ 将创建一个空项目。

VC++ empty project

请确保在解决方案配置组合框中选择了“调试”。右键单击cvtest,然后选择属性VC++目录

Project property dialog

选择包含目录以添加新条目并键入C:\opencv\build\include

Include directories dialog

点击确定关闭对话框。

回到属性对话框,选择库目录添加一个新条目,并输入C:\opencv\build\x86\vc10\lib

Library directories dialog

点击确定关闭对话框。

回到属性对话框,选择 链接器输入附加依赖项 添加新条目。在弹出的对话框中,输入以下文件名:

opencv_calib3d243d.lib
opencv_contrib243d.lib
opencv_core243d.lib
opencv_features2d243d.lib
opencv_flann243d.lib
opencv_gpu243d.lib
opencv_haartraining_engined.lib
opencv_highgui243d.lib
opencv_imgproc243d.lib
opencv_legacy243d.lib
opencv_ml243d.lib
opencv_nonfree243d.lib
opencv_objdetect243d.lib
opencv_photo243d.lib
opencv_stitching243d.lib
opencv_ts243d.lib
opencv_video243d.lib
opencv_videostab243d.lib

请注意,文件名以“d”(表示“调试”)结尾。另外,请注意,如果您安装了另一个版本的OpenCV(例如2.4.9),这些文件名将以249d而不是243d结尾(opencv_core249d.lib...等)。

enter image description here

点击确定关闭对话框。在项目属性对话框上点击确定以保存所有设置。

注意:

这些步骤将为“Debug”解决方案配置Visual C++。对于“Release”解决方案(可选),您需要重复添加OpenCV目录,并在附加依赖项部分中使用:

opencv_core243.lib
opencv_imgproc243.lib
...

而不是:

opencv_core243d.lib
opencv_imgproc243d.lib
...

您已经完成了Visual C++的设置,现在是编写真正代码的时候了。右键单击您的项目,选择添加新建项...Visual C++C++ 文件

Add new source file

请给文件命名(例如:loadimg.cpp),然后点击确定。在编辑器中输入以下代码:
#include <opencv2/highgui/highgui.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main()
{
    Mat im = imread("c:/full/path/to/lena.jpg");
    if (im.empty()) 
    {
        cout << "Cannot load image!" << endl;
        return -1;
    }
    imshow("Image", im);
    waitKey(0);
}

上面的代码将加载c:\full\path\to\lena.jpg并显示图像。你可以使用任何你喜欢的图片,只需确保图片的路径正确。
按F5编译代码,它将在一个漂亮的窗口中显示图像。

First OpenCV program

这就是你的第一个OpenCV程序!


3. 接下来怎么办?

现在你的OpenCV环境已经准备好了,接下来该做什么呢?

  1. 进入示例目录→c:\opencv\samples\cpp
  2. 阅读和编译一些代码。
  3. 编写你自己的代码。

2
再次出现相同的问题,“计算机缺少 opencv_core240d.dll 文件”。应该怎么办? - Abid Rahman K
2
看起来你还没有将[OPENCV_DIR]\build\x86\mingw\bin添加到你的路径中。 - flowfree
5
目前为止,这是我遇到的最好的说明。真希望我可以 +1 不止一次!谢谢。 - volting
1
@Harris:编程可以实现任何事情,就像魔法一样——就像哈利波特的世界一样,由你制定规则来支配这个世界。 - user1436489
1
@bsdnoobz:这个完美地解决了,谢谢。你每次开始新项目时都这样做吗?还是有自动化的方式可以预设包含等内容来创建项目? - Zoran Pavlovic
显示剩余17条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接