无法打开重命名的图像

时间:2014-04-27 13:12:24

标签: linux opencv

我有一个相当奇怪的问题。

我试图用以下内容打开上次修改后的图片:

std::string exec(string cmd) {
FILE* pipe = popen(cmd.c_str(), "r");
if (!pipe) return "ERROR";
char buffer[128];
std::string result = "";

if(fgets(buffer, 128, pipe) != NULL)
result = buffer;

pclose(pipe);
result[strlen(result.c_str()) - 1] = '\0';
return result;
}

int main(int argc, char **argv) {
    string s = exec("ls ./images -1t | tail -1 &> text.txt");
    Mat img = imread(s);
    imshow("image", img);
    waitKey(0);
    return 0; 
}

这段代码很好用。但每当我重命名文件并运行此代码时,imshow部分崩溃,说图像的大小为0.当我尝试打印文件名时,我在两种情况下都是正确的。

为什么会这样?

0 个答案:

没有答案