C++opencv新建文件夹并将处理过的png图片存储到文件夹中
时间: 2023-11-27 19:50:27 浏览: 94
利用C++打开和保存图像文件
4星 · 用户满意度95%
你可以使用下面的代码来新建文件夹并将处理过的png图片存储到该文件夹中:
```cpp
#include <iostream>
#include <opencv2/opencv.hpp>
#include <sys/stat.h>
#include <unistd.h>
using namespace cv;
using namespace std;
bool createDir(string path) {
if (access(path.c_str(), 0) == 0) {
return true;
}
int err = mkdir(path.c_str(), S_IRUSR | S_IWUSR | S_IXUSR);
if (err == -1) {
return false;
}
return true;
}
int main(int argc, char** argv) {
// 读入待处理的图片
Mat img = imread("input.png", IMREAD_COLOR);
if (img.empty()) {
cerr << "Failed to read input image." << endl;
return -1;
}
// 新建文件夹
string dirName = "output";
if (!createDir(dirName)) {
cerr << "Failed to create directory: " << dirName << endl;
return -1;
}
// 处理图片
Mat grayImg;
cvtColor(img, grayImg, COLOR_BGR2GRAY);
// 存储图片到文件夹中
string fileName = dirName + "/output.png";
bool success = imwrite(fileName, grayImg);
if (!success) {
cerr << "Failed to write output image." << endl;
return -1;
}
return 0;
}
```
这段代码先读入待处理的图片,然后新建一个名为"output"的文件夹,将处理过的图片存储到该文件夹中。在创建文件夹的过程中,使用了系统调用`mkdir`函数,并给予该文件夹读写执行权限。最后使用`imwrite`函数将处理过的图片存储到文件夹中。
阅读全文