opencv 保存char* bgr24 图像到jpg
时间: 2023-11-28 20:47:25 浏览: 77
opencv图片转换
你可以使用 OpenCV 库中的 imwrite 函数将 BGR24 格式的图像保存为 JPEG 格式。以下是一个示例代码:
```c++
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
int width = 640;
int height = 480;
// 创建一个 BGR24 格式的图像
int size = width * height * 3;
char* bgr24 = new char[size];
memset(bgr24, 0, size);
Mat img(height, width, CV_8UC3, bgr24);
// 将图像保存为 JPEG 格式
imwrite("output.jpg", img);
delete[] bgr24;
return 0;
}
```
在这段代码中,我们首先创建了一个大小为 640x480 的 BGR24 格式的图像,并将其存储在 char* 类型的内存块中。然后,我们使用 OpenCV 中的 imwrite 函数将该图像保存为 JPEG 格式的输出文件 output.jpg。最后,我们释放了内存块。
请注意,如果你的 BGR24 图像数据并不是从头开始的而是从某个偏移量开始的,则需要在创建图像对象时传递一个步幅参数来正确地解释数据。例如,如果你的数据从第二行开始,则应将步幅设置为 `(width * 3)`。
阅读全文