Приложение OpenCV C ++ немедленно закрывается при запуске из Eclipse - PullRequest
2 голосов
/ 03 февраля 2012

У меня сейчас проблема с получением очень маленького приложения с использованием запуска OpenCV из Eclipse. Приложение запускается нормально из командной строки, однако, когда я запускаю его из Eclipse, оно просто сразу же завершает работу без вывода каких-либо данных. Я ожидаю, что по крайней мере «Hello \ o /» будет напечатано на консоли.

Я обнаружил, что это происходит только тогда, когда я вызываю методы, связанные с OpenCV. Поэтому, если бы я закомментировал все строки, относящиеся к OpenCV, я бы увидел «Hello \ o /», напечатанный на консоли Eclipse.

Я предполагаю, что проблема связана с тем, что не удалось найти библиотеки DLL OpenCV во время выполнения (я наткнулся на эту проблему изначально в командной строке, но решил эту проблему, добавив каталог bin OpenCV в переменную PATH). Я попытался добавить это к моей конфигурации запуска в Eclipse по отдельности, но это не имеет значения.

Есть идеи, что вызывает эту проблему?

Мой источник:

#include "opencv2/opencv.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <stdio.h>
#include <iostream>
using namespace std;

int main(int argc, char** argv) {
cout << "Hello \\o/" << endl;
    /* data structure for the image */
    IplImage *img = 0;

    /* check for supplied argument */
    if (argc < 2) {
        fprintf(stderr, "Usage: loadimg <filename>\n");
        return 1;
    }

    /* load the image,
     use CV_LOAD_IMAGE_GRAYSCALE to load the image in grayscale */
    img = cvLoadImage(argv[1], CV_LOAD_IMAGE_COLOR);
    /* always check */
    if (img == 0) {
        fprintf(stderr, "Cannot load file %s!\n", argv[1]);
        return 1;
    }

    /* create a window */
    cvNamedWindow("image", CV_WINDOW_AUTOSIZE);

    /* display the image */
    cvShowImage("image", img);

    /* wait until user press a key */
    cvWaitKey(0);

    /* free memory */
    cvDestroyWindow("image");
    cvReleaseImage(&img);

    return 0;
}

Ответы [ 2 ]

2 голосов
/ 03 февраля 2012

Скорее всего, у вас отсутствует каталог lib в OpenCV в LD_LIBRARY_PATH (переменная среды).

0 голосов
/ 10 июня 2017

У меня была такая же проблема.Сначала я проверил и исправил все пути.

Когда казалось, что ничего не работает, создание нового рабочего пространства сработало для меня.

...