2014-12-05 58 views
-3

我制作的程序可以加载存储在文件中的图像,但它不起作用。我在Eclipse中使用OpenCV。我不知道有什么问题。你能帮我吗?如何使用OpenCV加载存储在文件中的图像

vector<Mat> images; 

int number; 

cin >> number; 
for (int i=0; i< number; i++) 
{ 
    string name = format("/home//ghalia//essai3//essai3/src//dossierimages//.jpg", i); 
      Mat img= imread (name); 

    if(img.empty()) 
    { 
     cerr << "name"<< name << "erreur de chargement: " << endl; 

     continue; 
    } 
    images.push_back(img); 
     // show result: 
     // imshow("test",img); 

    imshow ("test", images[0]); 
     waitKey(0);    // yes, you need the waitKey() 
} 
+1

我努力理解你想要什么,但只是希望你的代码,我可以看到你忘了插入图像的名称。 '/ home/ghalia/essai3/essai3/src/dossierimages/[图像的名称在这里] .jpg' - 您忘记了一个简单的编程步骤:调试。 – yayuj 2014-12-05 13:58:45

+0

另外你不需要在你的路径中使用双斜杠。 – drescherjm 2014-12-05 14:01:18

+0

我不适合图像名称,因为我想检索包含图像的文件夹中的图像以及包含图像名称的测试文件。 你有一个想法该怎么办? – 2014-12-05 14:05:28

回答

2

是否有任何错误信息?我首先想到的是,你的文件路径是错误的:

string name = format("/home//ghalia//essai3//essai3/src//dossierimages//.jpg", i); 

这些都是很多怪异的地方正斜杠的,你不必为.JPG扩展名的基名。很可能您打算将jpg命名为循环索引。

我不熟悉你的格式()函数,但试试这个:

string name = format("/home/ghalia/essai3/essai3/src/dossierimages/%d.jpg", i); 
相关问题