openCV basic_string :: _ S_construct null无效

时间:2013-12-18 11:54:02

标签: c++ opencv eclipse-cdt

我第一次使用openCV,我已经按照安装指南(对于带有eclipse CDT的linux)并尝试运行示例程序,但我不断收到以下错误消息。 在抛出'std :: logic_error'的实例后终止调用   what():basic_string :: _ S_construct null无效

#include<cv.h>
#include<highgui.h>

using namespace cv;

int main( int argc, char** argv ){
Mat image;
image = imread( argv[1], 1 );

if( argc != 2 || !image.data )
{
    printf( "No image data \n" );
    return -1;
}

namedWindow( "Display Image", CV_WINDOW_AUTOSIZE );
imshow( "Display Image", image );

waitKey(0);

return 0;

}

1 个答案:

答案 0 :(得分:0)

最终让我的OpenCV库链接后,我遇到了同样的问题。您可能在没有参数的情况下运行可执行文件,导致当您尝试执行图像读取时argv [1]为空。在eclipse上,我的解决方案是在命令提示符下直接使用参数调用文件; “testOpenCV.exe imageFile.png”。我显然是在使用Windows,但是只需在linux的终端中使用参数调用可执行文件就可以了。