【发布时间】:2025-12-02 10:15:01
【问题描述】:
我有一个 C++ 项目,我想访问我保存在文件夹 images 中的一些数据。
我已经尝试从calibration.cpp 做:
std::string path = "images/*.jpg";
cv::glob(path, images);
但是它给了我一个没有检测到目录的错误。为了确定执行在哪个目录中查看,我创建了一个虚拟文本文件并保存它以查看它的保存位置。
它保存在 cmake-build-debug 中,这是在 CLion 中构建 CMakeLists.txt 时自动创建的文件夹。然后,如果我将 images 文件夹放在 cmake-build-debug 中,它会被看到,但我希望将图像文件夹放在父目录中。
- 如何设置当前目录以从那里查找文件?
我的项目如下:
Camera Motion
-- cmake-build-debug
---- ...
-- images
---- image1.png
-- CMakeLists.txt
-- calibration.cpp
# CMakeLists.txt
cmake_minimum_required(VERSION 3.15)
project(CameraMotion)
set(CMAKE_CXX_STANDARD 14)
find_package( OpenCV REQUIRED )
include_directories(${OpenCV_INCLUDE_DIRS})
add_executable(CameraMotion calibration.cpp)
target_link_libraries(CameraMotion ${OpenCV_LIBS})
# calibration.cpp
#include <iostream>
int main()
{
std::ofstream myfile;
myfile.open("output.txt");
myfile << "output\n";
myfile.close();
std::string path = "images/*.jpg";
cv::glob(path, images);
}
当我在 CLion 中运行项目时,它会说:
====================[ Build | CameraMotion | Debug ]============================
/Applications/CLion.app/Contents/bin/cmake/mac/bin/cmake --build /Users/hectoresteban/CLionProjects/CameraMotion/cmake-build-debug --target CameraMotion -- -j 4
[100%] Built target CameraMotion
【问题讨论】: