如何让 OpenCV 在 Windows 下工作?
Posted
技术标签:
【中文标题】如何让 OpenCV 在 Windows 下工作?【英文标题】:How to make OpenCV work under Windows? 【发布时间】:2011-05-30 14:30:51 【问题描述】:我无法在 Windows 下启动 OpenCV 应用程序。
给定以下简单的 OpenCV 程序:
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <fstream>
#include "cv.h"
#include "highgui.h"
char imagename[100] = "sudoku.jpg";
IplImage* img;
int main(int argc, char** argv)
cvInitSystem(argc, argv);
cvNamedWindow("Example4", CV_WINDOW_AUTOSIZE);
IplImage* img = cvLoadImage(imagename);
cvShowImage("Example4", img);
cvWaitKey(0);
cvDestroyWindow("Example4");
return (0);
我可以编译并开始使用预编译的 OpenCV 库 2.2 版,引用的图像出现在一个窗口中。 (使用 netbeans 和 cygwin 或自己的带有 5 行和 minGW 的 makefile 进行了编译)。 然后我想在 OpenCV 中使用 C++ 函数调用,但编译不起作用,所以基于this answer 我决定在this installation guide 和this getting started guide 之后重新编译 OpenCV。
使用 minGW 和 CMake 编译 OpenCV 没有任何抱怨。我没有使用任何可选包进行 opencv 编译。
很遗憾,无法启动任何程序,因为只出现了一个灰色窗口,之后应用程序崩溃并且 Windows 给出以下错误消息:
Problem signature:
Problem Event Name: APPCRASH
Application Name: main.exe
Application Version: 0.0.0.0
Application Timestamp: 4de3a2d9
Fault Module Name: libopencv_highgui220.dll
Fault Module Version: 0.0.0.0
Fault Module Timestamp: 4dcd07e6
Exception Code: c0000005
Exception Offset: 0002def4
OS Version: 6.1.7600.2.0.0.256.4
Locale ID: 1033
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
可能是什么问题?
我尝试使用我自己的 Makefile 和 Cmake-gui 从 Netbeans 进行编译,并且创建的高管没有问题。我在 PATH 中包含了 opencv bin 目录,以使提到的 libopencv_highgui220.dll 可见。
更新:
按照前面的步骤,我在 Windows XP Professional 上得到了完全相同的结果:opencv 和项目构建正常,但运行挂起。这台机器上没有其他可能干扰我的opencv编译的C、C++、编译器和IDE。
【问题讨论】:
【参考方案1】:我在 opencv 论坛发了same question 并得到了答复。
问题是我使用 lib 或 bin opencv 目录进行链接和 PATH。使用安装指南,我发现我必须使用 lib 目录作为 PATH 的链接和 bin 目录。 lib 中的 dll.a 和 bin 中的 dll 的组合使用对我来说是新的。
于是我就跟着CodeBlocks+MinGW guide一步步解决了问题,而且 当我使用以前没有 CodeBlocks 构建的 MinGW opencv 时,C 或 C++ 代码都可以正常运行。
【讨论】:
【参考方案2】:我想我已经找到了在 Windows 中安装 OpenCV 并在大多数 IDE 中使用它的详细说明:http://techarenagadgetz.in/2012/12/configuring-opencv-2-4-2-for-codeblocks-and-similar-ides/
【讨论】:
以上是关于如何让 OpenCV 在 Windows 下工作?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Windows 上将 OpenCV 库正确链接到 Eclipse?
让 libspotify 中的示例在 Windows 7 下工作
关于ffmpeg和OpenCV在windows下运行要添加的环境变量
在 Windows 操作系统的情况下,如何将数据从 OpenCV 或 C++ 线程函数返回到主线程?