c++ opencv将二进制文件转为图片
时间: 2023-11-26 18:04:25 浏览: 266
opencv图片转换
C++中也可以使用OpenCV库实现将二进制文件转为图片的功能。以下是一个简单的示例代码:
```c++
#include <opencv2/opencv.hpp>
#include <fstream>
using namespace cv;
using namespace std;
int main() {
// 打开二进制文件
ifstream f("binary_file", ios::binary);
if (!f.is_open()) {
cerr << "Failed to open file!" << endl;
return -1;
}
// 获取文件大小
f.seekg(0, ios::end);
int size = f.tellg();
f.seekg(0, ios::beg);
// 读取二进制数据
char* data = new char[size];
f.read(data, size);
f.close();
// 将数据转为Mat格式
Mat image(1, size, CV_8UC1, data);
// 释放内存
delete[] data;
// 转换为图像并保存
Mat img = imdecode(image, IMREAD_GRAYSCALE);
imwrite("image.jpg", img);
return 0;
}
```
这里使用了C++中的文件操作和OpenCV中的`imdecode`和`imwrite`函数实现了将二进制文件转为图片的功能。
阅读全文