C++ cv::imwrite保存路径可以在子文件夹中吗?
时间: 2024-02-03 17:03:54 浏览: 167
matlab中常用的图片保存方法
是的,可以在子文件夹中保存图片。你只需要在保存路径中指定相对路径即可,例如:
```cpp
cv::Mat image = cv::imread("test.jpg");
cv::imwrite("path/to/subfolder/image.jpg", image);
```
这将在当前工作目录下的 `path/to/subfolder` 文件夹中保存名为 `image.jpg` 的图片。当然,如果该文件夹不存在,你需要先创建该文件夹。例如:
```cpp
cv::Mat image = cv::imread("test.jpg");
std::string folderPath = "path/to/subfolder";
if (!std::filesystem::exists(folderPath)) {
std::filesystem::create_directories(folderPath);
}
cv::imwrite(folderPath + "/image.jpg", image);
```
这将首先检查 `path/to/subfolder` 文件夹是否存在,如果不存在则创建该文件夹,然后再保存名为 `image.jpg` 的图片。请确保你的编译器支持 C++17 标准,否则你可能需要使用其他方式来检查和创建文件夹。
阅读全文