C++ opencv保存图片到文件夹
时间: 2023-07-04 08:09:14 浏览: 443
要将 OpenCV 中的图像保存到文件夹,可以使用 `cv::imwrite` 函数。以下是将图像保存为 JPEG 格式的示例代码:
```c++
#include <opencv2/opencv.hpp>
int main() {
cv::Mat image = cv::imread("example.jpg");
if (!image.empty()) {
cv::imwrite("output.jpg", image);
}
return 0;
}
```
在这个示例中,我们首先使用 `cv::imread` 函数加载名为 "example.jpg" 的图像。然后,我们使用 `cv::imwrite` 函数将图像保存为名为 "output.jpg" 的文件。如果图像加载失败,则不会执行保存操作。
请注意,在运行此代码之前,请确保您的代码中存在适当的 OpenCV 库和头文件链接,以及在运行时可用的 "example.jpg" 图像。
相关问题
opencv保存图片到文件夹
你可以使用OpenCV中的imwrite函数将图像保存到文件夹中。以下是一个示例代码:
```c++
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
Mat image = imread("test.jpg"); // 读取图像
if (image.empty()) // 检查图像是否加载成功
{
cout << "Could not read the image!" << endl;
return -1;
}
string path = "output/"; // 定义保存路径
string filename = "output.jpg"; // 定义保存文件名
if (imwrite(path + filename, image)) // 保存图像
{
cout << "Image saved successfully!" << endl;
}
else
{
cout << "Could not save the image!" << endl;
}
return 0;
}
```
在这个例子中,我们首先读取了一个名为“test.jpg”的图像。然后,我们定义了一个保存路径和文件名。最后,我们使用imwrite函数将图像保存到指定的文件夹中。如果保存成功,将输出“Image saved successfully!”,否则将输出“Could not save the image!”。
c++opencv批量读写图片
使用OpenCV批量读写图片可以使用以下步骤:
1. 导入OpenCV库
```
import cv2
```
2. 定义一个函数用于批量读取图片
```
def read_images(file_path):
images = []
for filename in os.listdir(file_path):
img = cv2.imread(os.path.join(file_path,filename))
if img is not None:
images.append(img)
return images
```
其中,file_path为存放图片的文件夹路径,函数返回一个包含所有图片的列表images。
3. 定义一个函数用于批量保存图片
```
def write_images(images, file_path):
for i, img in enumerate(images):
cv2.imwrite(os.path.join(file_path, str(i)+'.jpg'), img)
```
其中,images为包含所有图片的列表,file_path为保存图片的文件夹路径,函数会将images中的所有图片按照顺序保存到file_path文件夹中,文件名为0.jpg, 1.jpg, 2.jpg, ...。
4. 调用函数进行批量读取和保存
```
images = read_images('/path/to/images')
write_images(images, '/path/to/save')
```
其中,/path/to/images为存放图片的文件夹路径,/path/to/save为保存图片的文件夹路径,可以根据实际情况进行修改。
阅读全文