opencv(一):Directory(遍历目录下的文件(夹))

opencv 工具类 Directory

opencv2 提供了一个 Directory 工具类来帮助读取文件夹中的文件名,这还是挺方便的,因为 目前常用的 c++ 版本并没有提供简单的文件名读取接口。这个工具类在contrib.hpp下。

注意:opencv3. 把contrib库从默认库中拿出来,如果想用这个工具类的话,需要自己重新把contrib编译一下。

Directory类包含三个静态函数,分别是:

  • static std::vector< std::string > GetListFiles (const std::string &path, const std::string &exten="*", bool addPath=true)
  • static std::vector< std::string > GetListFilesR (const std::string &path, const std::string &exten="*", bool addPath=true)
  • static std::vector< std::string > GetListFolders (const std::string &path, const std::string &exten="*", bool addPath=true)

static std::vector< std::string > GetListFiles (const std::string &path, const std::string &exten=”*”, bool addPath=true)

这个函数只获取指定目录下的文件, 不理会目录

  • path:string, 用于指定根目录
  • exten: string,这个是个正则表达式,匹配的返回,否则不返回。
  • addPath: bool,如果为true,返回的文件名会带path,如果为false,返回的仅是文件名。

static std::vector< std::string > GetListFilesR (const std::string &path, const std::string &exten=”*”, bool addPath=true)

这个API比上面多了个R,这个R代表的recursive的意思,就是碰到文件夹还是往里钻。

static std::vector< std::string > GetListFolders (const std::string &path, const std::string &exten=”*”, bool addPath=true)

这个API 就是获取指定文件夹下的 文件夹了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏coderhuo

虚拟内存探究 -- 第三篇:一步一步画虚拟内存图

这是虚拟内存系列文章的第三篇。 前面我们提到在进程的虚拟内存中可以找到哪些东西,以及在哪里去找。 本文我们将通过打印程序中不同元素内存地址的方式,一步一步细...

754
来自专栏偏前端工程师的驿站

前端构建:Source Maps详解

一、前言                            当使用CoffeeScript、ClojureScript编写前端脚本时,当使用Less、Sa...

1798
来自专栏ChaMd5安全团队

第二届强网杯 web方向部分writeup

Web签到 题目信息: Flag: QWB{s1gns1gns1gnaftermd5} 提示: http://39.107.33.96:10000 查看源码发现...

3287
来自专栏LuckQI

微服务重要的容器Docker学习系列十~高级操作

这一篇算是我们Docker容器命令的最后一篇文章了,基础学习好了我们再去学习Docker中更高级的特性,用好容器,让我们更加方便使用在开发上提高软件的性能。

413
来自专栏烂笔头

Python爬虫—破解JS加密的Cookie

目录[-] 前言 在GitHub上维护了一个代理池的项目,代理来源是抓取一些免费的代理发布网站。上午有个小哥告诉我说有个代理抓取接口不能用了,返回状态521...

4187
来自专栏pangguoming

node.js应用Redis数据库

node.js下使用Redis,首先: 1、有一台安装了Redis的服务器,当然,安装在本机也行 2、本机,也就是客户端,要装node.js 3、项目要安装no...

3014
来自专栏测试开发架构之路

今天研究了一下手机通信录管理系统(C语言)

题目:手机通信录管理系统 一、题目要求 二、需求分析 三、设计步骤/编写代码 四、上机/运行结果 五、总结 一、题目要求 模拟手机通信录管理系统,实现对手机中...

3068
来自专栏python开发教学

【Django错误】OSError: raw write() returned invalid length 14 (should have been between 0 and 7)

错误环境 使用Django框架创建完models类的之后,用python manage.py migrate命令来生成数据库表的时候出错 错误代码 Operat...

3517
来自专栏从零开始学自动化测试

selenium+python自动化97--unittest参数化(paramunittest)

前言 paramunittest是unittest实现参数化的一个专门的模块,可以传入多组参数,自动生成多个用例 前面讲数据驱动的时候,用ddt可以解决多组数据...

3666
来自专栏黑白安全

Msfvenom – Metasploit 生成 Payloads 备忘录

Metasploit 是使用最多的渗透测试框架,本文整理一些 Msfvenom 常用命令;让您快速的生成各类Payloads

531

扫码关注云+社区