У меня есть проект C ++, и я хочу получить доступ к некоторым данным, которые я сохранил в папке images
. Я попытался из calibration.cpp
сделать:
std::string path = "images/*.jpg";
cv::glob(path, images);
Но это дало мне ошибку, не обнаружив каталог. Чтобы определить, в какой директории смотрелось выполнение, я создал фиктивный текстовый файл и сохранил его, чтобы увидеть, куда он был сохранен. Он сохраняется в cmake-build-debug , которая является папкой, автоматически создаваемой при сборке CMakeLists.txt в CLion. Затем, если я помещу свою папку 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