OpenCV resize()断言失败

时间:2015-03-02 02:54:57

标签: c++ opencv resize imread

我遇到OpenCV和Assertion失败错误的问题。它似乎在读取图像时出现问题,因此函数 imread()无声地失败,然后在 resize()函数中它崩溃,因为输入图像为空。

我已经检查了路径并且没关系,事实上如果我打印我正在尝试阅读的路径并在终端图像中打开 open path 就可以了。另外,如果我采用我打印的这条路径并将其放入字符串变量代码中。所以问题似乎与 ss 对象有关。我只是不知道是什么。

这是我的代码:

int main(int argc, char** argv ){
  cout << "Prueba OpenCV \n";
  char* path;
  Mat input;

  if(argc >= 2 )
  {
    path = argv[1];
    for(int j=0; j< numFiles; j++){
       cout << "Character "<< OCR::strCharacters[1] << " file: " << j << "\n";
       stringstream ss(stringstream::in | stringstream::out);
       ss << path << OCR::strCharacters[1] << "/" << j << ".jpg" << "\n";
       cout << "Character file: " <<  ss.str() << "\n";
       Mat img=imread(ss.str(), 0);
       /*if (img.cols == 0) {
         cout << "Error reading file " << ss << endl;
         return -1;
       }*/ 
       Mat lowData;
       resize(img, lowData, Size(5, 5) );

    }
  }
}

用以下方式运行:

./PruebaOpenCV samples/

我发现堆栈中的this链接有类似的问题,但答案只是一段代码,知道图像是否被正确读取(上面的注释代码)。我知道我的不是,但路径还可以。

0 个答案:

没有答案