从文件读取的空图像(使用文件路径)

时间:2014-11-22 16:28:44

标签: c++ opencv

我试图以两种方式加载图片:

  1. 通过明确键入文件路径(在代码中)。即:

    std::string g = "G:\\Downloads\\L-526.jpg";
    
    cv::Mat frame = cv::imread(g);
    if (!frame.data)
    {
        printf(" No image data \n ");
    }
    cv::namedWindow("Display window", 1);// Create a window for display.
    cv::imshow("Display window",frame);
    
  2. 从GUI加载文件路径(使用"浏览"):

    std::string f;
    f = LoadImFromGUI();
    //ReplaceStringInPlace(f,"\\","/");  // thought need replacing the double backslash
    cv::waitKey(0);  // NOTE: IN THIS STEP, f IS TOTALLY IDENTICAL to g (from the 1st case)
    cv::Mat frame = cv::imread(f);
    
    if (!frame.data)
    {
        printf(" No image data \n ");
    }
    cv::namedWindow("Display window", 1);// Create a window for display.
    cv::imshow("Display window", frame);
    
  3. 在调试模式下,我在第一和第二种情况下获得相同的路径。 但是,在第一种情况下,图像被加载并显示,而在第二种情况下(我浏览并加载相同的图像),我得到一个空图像。

    我的代码应该更改什么?

1 个答案:

答案 0 :(得分:-1)

试试这个:

g = "G:/Downloads/L-526.jpg";