如何使OpenCV在Windows下工作



我无法在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或自己的makefile,其中包含5行和minGW)。然后我想在OpenCV中使用C++函数调用,但编译不起作用,所以基于这个答案,我决定按照这个安装指南和这个入门指南重新编译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

可能是什么问题?

我试着从Netbeans编译,用我自己的Makefile和Cmake gui,高管们都很顺利地创建了。我在PATH中包含了opencv-bin-dir,以使提到的libopencv_higigui220.dll可见。

更新:

按照前面的过程,我在WindowsXPProfessional上得到了完全相同的结果:opencv和项目构建还可以,但运行挂起。这台机器上没有其他C、C++、编译器和IDE可能会干扰我的opencv编译。

我在opencv论坛上发布了同样的问题,我得到了答案。

问题是我使用了lib或bin opencv目录进行链接和PATH。使用安装指南,我发现我必须使用lib目录作为链接,使用bin目录作为PATH。库中dll.a和bin中dll的组合使用对我来说是新的。

因此,我遵循CodeBlocks+MinGW指南一步一步地解决了这个问题,此外当我使用我以前在没有CodeBlocks的情况下构建的MinGW opencv时,C或C++代码都会正确运行。

我已经找到了在Windows中安装OpenCV并在大多数IDE中使用它的详细描述:http://techarenagadgetz.in/2012/12/configuring-opencv-2-4-2-for-codeblocks-and-similar-ides/

相关内容

  • 没有找到相关文章

最新更新