opencv fscanf写图
时间: 2023-09-17 13:15:07 浏览: 71
像素数据到文件,使用fscanf函数是不合适的,因为fscanf是用于从文件中读取格式化数据的函数。如果要将像素数据写入文件,应该使用fwrite函数。以下是使用OpenCV将图像写入文件的示例代码:
```
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
// 读取图像
Mat img = imread("test.jpg", IMREAD_COLOR);
// 打开文件
FILE* fp = fopen("test.bin", "wb");
// 写入图像宽度和高度
int width = img.cols;
int height = img.rows;
fwrite(&width, sizeof(int), 1, fp);
fwrite(&height, sizeof(int), 1, fp);
// 写入像素数据
fwrite(img.data, sizeof(uchar), width * height * 3, fp);
// 关闭文件
fclose(fp);
return 0;
}
```
在上面的代码中,我们首先使用OpenCV的imread函数读取图像。然后,我们使用fopen函数打开一个二进制文件,用于写入像素数据。接下来,我们将图像的宽度和高度写入文件,然后将像素数据写入文件。最后,我们使用fclose函数关闭文件。
阅读全文