openCV basic_string::_S_construct null not valid

openCV basic_string::_S_construct null not valid

本文关键字:null not valid construct string openCV basic      更新时间:2023-10-16

我是第一次使用 openCV,我遵循了安装指南(对于带有 eclipse CDT 的 linux)并尝试运行示例程序,但我不断收到以下错误消息。在抛出"std::logic_error"实例后终止调用 what(): basic_string::_S_construct 空

无效
#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;

}

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