for(directory_iterator i(l_path),end_iter; i != end_iter; i++){
string im_name = filename;
//string im_name = i->path().filename().string();
string l_filename = l_path + im_name;
im_name.replace(im_name.begin(),im_name.begin() + 4, string("right"));
string r_filename = r_path + im_name;
Mat lim = imread(l_filename),rim = imread(r_filename);
if(!lim.empty() && !rim.empty()){
l_images.push_back(lim);
r_images.push_back(rim);
}
}
上面的崩溃启动时,是的路径在那里,但由于某种原因,它不会运行。我已经试过了这个路径,它运行。我不知道发生了什么问题。谢谢你提供的所有帮助。下面是我申报的地方。我正在使用最新版本的boost和qt创建器以及开放式cv来获得立体视觉的视差图像,这就是我用来制作xml文件进行校准的原因。boost :: filesystem :: directory_interatory i(路径)在qt创建器启动时崩溃
filename = DISTFOLDER + string("stereo_calib.xml");
calib = new calibrator(LEFTFOLDER,RIGHTFOLDER,1.f,5,4,"lImage.png");
calib->calc_image_points(true);
bool done = calib->calibrate();
if(!done){
qDebug("stereo calibration failed");
}
calib->save_info(filename);
我不知道你为什么不使用'的boost ::文件系统:: path'的路径,但是这另一个问题... –
请详细说明它究竟如何/究竟在哪里崩溃。这个问题更多的是为了您的调试而不是我们的猜测。另外,我不确定第二个列表的哪一行实际上会调用第一个代码中的代码。 –
对不起,没有详细说明,基本上发生的是程序在迭代文件路径之前崩溃。我知道路径在那里,我只是不知道它为什么没有找到它 – tengence