我目前在使用从Eclipse启动的OpenCV获取一个非常小的应用程序时遇到了问题。应用程序从命令行启动很好,但是当我从Eclipse启动时,它只是立即终止而没有输出。我希望至少将“Hello \ o /”打印到控制台。
我发现只有当我调用与OpenCV相关的方法时才会发生这种情况。因此,如果我要注释掉与OpenCV相关的所有行,我会看到“Hello \ o /”打印到Eclipse控制台。
我假设问题是与运行时无法找到OpenCV DLL相关的问题(我最初在命令行遇到了这个问题,但是通过将OpenCV bin目录添加到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;
}
答案 0 :(得分:2)
您很可能在LD_LIBRARY_PATH
(环境变量)中缺少OpenCV的 lib 目录。
答案 1 :(得分:-1)
我有同样的问题。我先检查并纠正了所有路径。
当似乎没有任何效果时,为我创建一个新的工作区。