gpt4 book ai didi

c++ - 为 Visual Studio 2010 设置 OpenCV-2.3

转载 作者:IT老高 更新时间:2023-10-28 12:32:42 32 4
gpt4 key购买 nike

我正在尝试将 opencv 2.3 与 Visual Studio 2010 Express 一起使用。我的代码来自示例:

#include "stdafx.h"
#include <highgui.h>

int _tmain(int argc, _TCHAR* argv[])
{
int c;
// allocate memory for an image
IplImage *img;
// capture from video device #1
CvCapture* capture = cvCaptureFromCAM(1);
// create a window to display the images
cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE);
// position the window
cvMoveWindow("mainWin", 5, 5);
while(1)
{
// retrieve the captured frame
img=cvQueryFrame(capture);
// show the image in the window
cvShowImage("mainWin", img );
// wait 10 ms for a key to be pressed
c=cvWaitKey(10);
// escape key terminates program
if(c == 27)
break;
}

return 0;
}

到目前为止我做了什么?

  • 在我的系统路径中添加了 build\binbuild\{x86|x64}\{vc9\vc10\mingw}\bin 之一(以使用 DLL) .
  • 添加了 build\{x86|x64}\{vc9\vc10\mingw}\libbuild\{x86|x64}\{vc9\vc10\mingw}\staticlib 作为我的链接器设置的库目录。
  • 在我的编译器设置中添加了 build\includebuild\include\opencv 作为包含目录。

结果是:

1>LINK : fatal error LNK1104: cannot open file 'c:\OpenCV2.3\build\x86\vc10\lib.obj'

OpenCV 文件夹中没有 lib.obj。我只解压了 OpenCV-2.3.0-win-superpack.exe,没有使用 CMake 软件。

我做错了什么?

最佳答案

好吧,official guide是为了在VS2010上安装OpenCV 2.1,所以我在下面写了一些说明,说明如何正确安装和配置OpenCV 2.3x86版本Visual Studio 2010(Express),因为很多人似乎都无法正确设置它。

下载OpenCV-2.3.0-win-superpack.exe并执行它以将所有文件提取到名为 OpenCV2.3 的文件夹中。在这个文件夹中有 2 个目录:buildopencv。 VS2010 上的所有设置都将引用 build 目录。出于实际目的,我将文件夹 OpenCV2.3 移动到了我的 C:\ 驱动器,因此请注意我在本指南中建议的路径,因为您的路径可能会有所不同。

在 Visual Studio 上,创建一个新的 Win32 控制台应用程序 项目并将其命名为您喜欢的任何名称。之后,将显示一个新窗口。点击标签 Application Settings 并确保选项 Empty Project 被选中:

enter image description here

将新文件main.cpp添加到文件夹Source Files,然后将此代码添加到main.cpp:

#include <stdio.h>
#include <cv.h>
#include <highgui.h>

int main(int argc, char* argv[])
{
if (argc < 2)
{
printf("Usage: ./opencv_hello <file.png>\n");
return -1;
}

IplImage* img = cvLoadImage(argv[1], CV_LOAD_IMAGE_UNCHANGED);
if (!img)
{
return -1;
}

cvNamedWindow("display", CV_WINDOW_AUTOSIZE);
cvShowImage("display", img );

cvWaitKey(0);

return 0;
}

此时,我们需要配置项目,以便它可以找到 OpenCV 头文件和库。转到项目属性 (ALT+F7),一旦出现新窗口,请执行以下操作:

  • 配置框中,选择所有配置

  • 打开 Configuration Properties > C/C++ > General,然后编辑字段 Additional Include Directories 以添加这 3 个路径(用于标题): p>

    C:\OpenCV2.3\build\include\opencv

    C:\OpenCV2.3\build\include\opencv2

    C:\OpenCV2.3\build\include

enter image description here

请注意,include\opencv 用于 OpenCV 的 C 接口(interface),include\opencv2 用于 C++ 接口(interface)。我们还添加了文件夹 include 以防止我们的构建被 C 接口(interface)的某些头文件破坏,这些头文件将 C++ 头文件称为 opencv2\core

  • 然后,在 Configuration Properties > Linker > General 中添加库的路径,并在 Additional Library Directories 字段中添加:C:\OpenCV2.3\build\x86\vc9\lib:

enter image description here

  • 最后,对于这个简单的测试,我们将添加库 opencv_core230.libopencv_highgui230.lib。所以去 Configuration Properties > Linker > Input 并添加它们:

enter image description here

在编写更复杂的应用程序时,您可能需要添加我没有添加的其他 OpenCV 库在我们的这个小项目中提到过。

F7构建解决方案,您应该会看到:

========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

为了能够执行应用程序,您需要 modify the PATH environment variable在您的系统中添加 OpenCV 的 DLL 的位置。将此添加到 PATH 的末尾:

; C:\OpenCV2.3\build\x86\vc9\bin

关于c++ - 为 Visual Studio 2010 设置 OpenCV-2.3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7011238/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com