Как заставить OpenCV работать под Windows? - PullRequest
1 голос
/ 30 мая 2011

Я не смог запустить приложение OpenCV под Windows.

Учитывая следующую простую программу 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 или собственного make-файла с 5 строками и minGW).Затем я хотел использовать вызовы функций C ++ в OpenCV, но компиляция не работала, поэтому, основываясь на этом ответе Я решил перекомпилировать 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, и руководители создавались без проблем.Я включил каталог opencv bin в PATH, чтобы сделать упомянутый libopencv_highgui220.dll видимым.

Обновление:

Следуя предыдущей процедуре, я получил точно такой же результат на Windows XP Professional: opencvи проект строительства в порядке, но работает зависает.На этом компьютере нет других C, C ++, компиляторов и IDE, которые могли бы помешать моей компиляции opencv.

Ответы [ 2 ]

2 голосов
/ 08 июня 2011

Я разместил такой же вопрос на форуме opencv и получил ответ.

Проблема была в том, что я использовал либо lib, либо каталог bin opencv для компоновки и PATH. Используя руководство по установке, оказалось, что я должен использовать каталог lib для ссылок и каталог bin для PATH. Совместное использование dll.a в lib и dll в bin было для меня новым.

Итак, я следовал инструкциям CodeBlocks + MinGW e, шаг за шагом, чтобы решить проблему, более того когда я использую мой предыдущий MinGW opencv без CodeBlocks, код C или C ++ работает правильно.

1 голос
/ 31 января 2013

Я нашел подробное описание установки OpenCV в Windows и его использования в большинстве сред IDE: http://techarenagadgetz.in/2012/12/configuring-opencv-2-4-2-for-codeblocks-and-similar-ides/

...