程序代码如下:
// 导入图像
std::stringstream ss;
ss << "/home/wang/桌面/LearningVO-master/build/dataset/00/image_0/"
<< std::setw(6) << std::setfill('0') << img_id << ".png";
cv::Mat img(cv::imread(ss.str().c_str(), 0));
assert(!img.empty());
图片所在路径如下:
但是程序会 assert failed。
本人的解决方案:
OpenCV的绝对路径貌似有问题,将绝对路径改为相对路径:
// 导入图像
std::stringstream ss;
ss << "./dataset/00/image_0/"
<< std::setw(6) << std::setfill('0') << img_id << ".png";
cv::Mat img(cv::imread(ss.str().c_str(), 0));
assert(!img.empty());
注意此相对路径相对的是在终端中执行命令时的路径;另外Home目录要写为“/Home/xxx/”,而不是“~/xxx/”,否则也会出现错误。
修改后,程序正常运行。