Visual Studio程序中的当前目录是项目所在目录,是project文件以及源文件所在的目录,而不是solution所在的目录。
例如,是下面第一张图片中的目录,而不是第二张图片中sln文件(solution解决方案)所在的目录。
验证的过程是当我的图片放在跟sln同目录下时(即上方图片所示),我在main.cpp中写了如下代码:
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat img = imread("./Jakob-Ingebrigtsen-of-Norway-1500m-Athletissima-Lausanne-Diamond-League-meeting.jpg"); //读取一张图片
imshow("Jakob Ingebrigtsen", img); //打开一个窗口,显示图片
waitKey(); //等待键盘敲入字符
return 0;
}
代码中imread的路径是当前目录下的图片,但是运行后出现了以下报错:
显示can’t open/read file: check file path/integrity。但是当我将代码改成如下之后,运行成功了:
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat img = imread("../Jakob-Ingebrigtsen-of-Norway-1500m-Athletissima-Lausanne-Diamond-League-meeting.jpg"); //读取一张图片
imshow("Jakob Ingebrigtsen", img); //打开一个窗口,显示图片
waitKey(); //等待键盘敲入字符
return 0;
}
图片成功读取并显示: