qq_26711535 2018-12-19 18:01
浏览 319

c++ opnecv遍历文件件

大家好!
我想在ubuntu系统下使用opencv遍历指定文件夹下的所有照片数目,在windows下程序正确,然而在ubuntu下得不到文件夹下照片数目.

```string path = "/home/trm/test/";
string exten = "*.jpeg";
std::vectorstd::string filenames = cv::Directory::GetListFiles(path, exten, false);

count = filenames.size();

核心程序如上:

#include
#include
#include
#include
#include
#include
#include
#include
#include
//#include
using namespace cv;
using namespace std;

int main()
{
cv::Directory dir;
/*string path = "C:\Users\Lenovo\Documents\C++study\cameravideo\cameravideo";
string exten = "*.jpg";
vector filenames = dir.GetListFiles(path, exten, false);*/
VideoCapture capture(0);
Mat frame;
if (!capture.isOpened())
{
cout << "摄像头打开失败!" << endl;
return -1;
}
char key;
char filename[200];
int count = 0;
namedWindow("【视频】", 1);
namedWindow("【图片】", 1);

cout<<file<<endl; 


while (1)
{
    key = waitKey(50);
    capture >> frame;
    imshow("【视频】", frame);
    string path = "/home/trm/test/";
    string exten = "*.jpeg";
    std::vector<std::string> filenames = cv::Directory::GetListFiles(path, exten, false);  
    count = filenames.size();
    cout<<"filenames:"<<filenames.size()<<endl; 
    //cout<<count<<endl;
    //cout << count << endl;
    if (key == 27)
        break;//按ESC键退出程序
    if (key == 32)//按空格键进行拍照
    {
        sprintf(filename, "/home/trm/test/Picture%d.jpeg", 3);
        imwrite(filename, frame);//图片保存到本工程目录中
        imshow("【图片】", frame);
    }
}
return 0;

}


完整程序
  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥20 delta降尺度方法,未来数据怎么降尺度
    • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
    • ¥15 再不同版本的系统上,TCP传输速度不一致
    • ¥15 高德地图点聚合中Marker的位置无法实时更新
    • ¥15 DIFY API Endpoint 问题。
    • ¥20 sub地址DHCP问题
    • ¥15 delta降尺度计算的一些细节,有偿
    • ¥15 Arduino红外遥控代码有问题
    • ¥15 数值计算离散正交多项式
    • ¥30 数值计算均差系数编程