bmp文件的保持用imwrite
时间: 2024-09-09 12:10:23 浏览: 21
在使用C++编程语言和OpenCV库时,`imwrite` 函数用于将图像保存到文件。BMP(位图)是一种常用的图像格式,支持无压缩的图像存储,常用于Windows系统。下面是如何使用`imwrite`函数来保存一个BMP文件的示例:
```cpp
#include <opencv2/opencv.hpp>
int main() {
// 创建或读取一个图像
cv::Mat image = cv::imread("input_image.jpg");
if (image.empty()) {
std::cout << "图像加载失败" << std::endl;
return -1;
}
// 将图像保存为BMP格式
if (!cv::imwrite("output_image.bmp", image)) {
std::cout << "图像保存失败" << std::endl;
return -1;
}
return 0;
}
```
在这段代码中,首先包含了OpenCV库的头文件。然后在`main`函数中,使用`imread`函数读取了一个图像文件(这里假设为JPEG格式的图像)。如果图像成功加载,那么使用`imwrite`函数将该图像保存为BMP格式。如果保存失败,会输出错误信息。
相关问题
用imwrite保存一张png
好的,你可以使用以下代码将图像保存为 PNG 格式:
```cpp
cv::Mat image = cv::imread("input.jpg");
cv::imwrite("output.png", image);
```
这将读取名为 "input.jpg" 的图像,并将其保存为名为 "output.png" 的 PNG 文件。请注意,imwrite() 函数的第一个参数是输出文件的名称,第二个参数是要保存的图像。
imwrite 怎么用
imwrite 函数是OpenCV库中用于将图像保存到文件的函数。它的语法如下:
```cpp
bool imwrite(const string& filename, InputArray img, const vector<int>& params = vector<int>());
```
其中,`filename` 是保存的文件路径和文件名,`img` 是要保存的图像,`params` 是可选参数,用于指定保存图像的格式和压缩参数。
以下是一个示例代码,演示如何使用 imwrite 函数将图像保存为 JPG 格式:
```cpp
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat image = imread("input.jpg", IMREAD_COLOR); // 读取图像
if (image.empty())
{
printf("Could not open or find the image\n");
return -1;
}
bool success = imwrite("output.jpg", image); // 保存图像
if (!success)
{
printf("Failed to save the image\n");
return -1;
}
return 0;
}
```
在上述代码中,首先使用 `imread` 函数读取名为 "input.jpg" 的图像,并将其存储在 `image` 变量中。然后,使用 `imwrite` 函数将 `image` 变量中的图像保存为名为 "output.jpg" 的 JPG 格式文件。
注意:在使用该函数之前,请确保已经成功加载了 OpenCV 库,并且编译器能够找到相关的头文件和库文件。