opencv保存图片到指定路径(opencv保存图片到指定路径需要新建文件夹吗)
简介:
OpenCV是一款非常流行的计算机视觉库,它提供了许多图像处理的功能。其中,保存图片是非常常见的操作之一。本文将介绍如何使用OpenCV保存图片到指定路径。
多级标题:
一、保存图片
二、指定路径保存图片
三、完整代码
内容详细说明:
一、保存图片
在OpenCV中,我们可以使用imwrite函数来保存一张图片。该函数的语法如下:
```
bool imwrite(const String& filename, InputArray img, const std::vector
```
其中,filename表示保存的文件名,img表示要保存的图片对象。params表示一些可选参数,例如图片质量、压缩等级等。该函数返回bool类型。
下面的示例展示了如何保存一张图片:
```
#include
#include
using namespace cv;
using namespace std;
int main(int argc, char** argv)
Mat img = imread("test.jpg"); // 读取一张图片
imwrite("output.jpg", img); // 保存图片
return 0;
```
在上述示例中,我们首先使用imread函数读取了一张图片。接着,使用imwrite函数将其保存在了工程目录下命名为output.jpg的文件中。
二、指定路径保存图片
如果我们想将图片保存在指定路径下,可以在filename参数中加上路径信息。例如,下面的代码将图片保存在了D盘下的test文件夹中:
```
imwrite("D:/test/output.jpg", img);
```
如果路径中包含了空格等特殊字符,可以用双引号括起来,例如:
```
imwrite("\"D:/My Pictures/output.jpg\"", img);
```
三、完整代码
下面是一个完整的保存图片到指定路径的示例代码:
```
#include
#include
using namespace cv;
using namespace std;
int main(int argc, char** argv)
Mat img = imread("test.jpg"); // 读取一张图片
if (img.empty())
{
cout << "Failed to load image" << endl;
return -1;
}
string path = "D:/test/"; // 指定路径
string filename = path + "output.jpg"; // 带路径的文件名
imwrite(filename, img); // 保存图片
cout << "Image saved to " << filename << endl;
return 0;
```
在上述代码中,我们首先读取了一张图片,并判断其是否加载成功。接着,定义了一个路径path,表示要保存的文件夹路径。然后,将带有路径的文件名filename组合成一个完整的文件路径,最后使用imwrite函数将图片保存在了该文件路径下。
总结:
本文介绍了如何使用OpenCV保存图片到指定路径。需要注意的是,在保存图片时要注意文件名和路径的拼接,以及转义特殊字符等问题。