我试图以两种方式加载图片:
通过明确键入文件路径(在代码中)。即:
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);
从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);
在调试模式下,我在第一和第二种情况下获得相同的路径。 但是,在第一种情况下,图像被加载并显示,而在第二种情况下(我浏览并加载相同的图像),我得到一个空图像。
我的代码应该更改什么?
答案 0 :(得分:-1)
试试这个:
g = "G:/Downloads/L-526.jpg";