【发布时间】:2017-03-14 22:43:46
【问题描述】:
我需要设置一个目录,然后读取里面文件的所有文件名,并将整个路径存储在一个变量中。稍后我需要使用这个变量来打开文件并读取它。我不想为此使用QDir。我看到了问题here 的第二个答案。我可以用boost/filesystem.hpp(相信这个不用单独下载)。但问题是执行将如下所示:
$ g++ -o test test.cpp -lboost_filesystem -lboost_system
$ ./test
由于 OpenCV 库,用于创建可执行对象的第一行已经很复杂,我不想添加它。我想让它们保持简单(以下行加上 OpenCV 想要的任何内容):
g++ -o test test.cpp
有什么办法吗?
这是我要为其编写 C++ 代码的 python 代码:
root_dir = 'abc'
img_dir = os.path.join(root_dir,'subimages')
img_files = os.listdir(img_dir)
for files in img_files:
img_name = os.path.join (img_dir,files)
img = cv2.imread(img_name)
【问题讨论】:
-
避免将您的可执行文件命名为
test。它是标准的 POSIX 程序/bin/test或内置的 shell。调用你的测试二进制文件mytest -
为什么不简单地使用 cv::glob?
-
@BasileStarynkevitch 我从链接中的另一个问题复制了
test。我只是继续在剩下的问题中使用它。 -
@Miki 谢谢你的建议。看起来我可以完成我的工作。
标签: c++ command-line filesystems os.path