如何在opencv&& qt c ++文件夹中加载图像

时间:2014-09-02 09:34:24

标签: c++ qt opencv

我想在文件夹中加载图片。

 QString fileName = QFileDialog::getOpenFileName(this,
  tr("Open Images"), "C:/Users/Public/Pictures/Sample Pictures/pic.jpg", tr("Image Files (*.png   *.jpg *.bmp)"));
  ui->label_pic->setPixmap(QPixmap::fromImage(fileName));

上面没有问题代码或者我可以做那个imread功能但我想逐个加载文件夹中的图片。例如;如果文件夹中有50个.jpg图像我想逐个打印屏幕。

 QString fileName2;

 QString directory = QFileDialog::getExistingDirectory(this,tr("Find Files"), QDir::currentPath());
//directoryComboBox->setCurrentIndex(directoryComboBox->findText(directory));

 ui->directoryComboBox->addItem(directory);

如果我选择C:/ Users / Public / Pictures / Sample Pictures,我想在屏幕上显示所有图片。

1 个答案:

答案 0 :(得分:1)

使用QDir::entryList获取符合条件(图片)的目录中的文件列表,然后使用foreach

 QDir dir(directory);
 dir.setNameFilters(QStringList() << "*.png" << "*.jpg");
 QStringList fileList = dir.entryList();
 foreach (QString path, fileList)
 {
   // do what you want, for example, create a new QLabel here
 }