怎么把unsigned short* pixel保存为raw
时间: 2023-11-27 17:05:59 浏览: 25
将一个`unsigned short*`类型的像素数据保存为RAW格式的文件,可以按照以下步骤进行:
1. 打开一个文件:
```c
FILE* fp = fopen("pixel.raw", "wb");
```
2. 将像素数据写入文件:
```c
fwrite(pixel, sizeof(unsigned short), width * height, fp);
```
这里的`pixel`是一个指向像素数据的指针,`width`和`height`分别是像素数据的宽度和高度。`sizeof(unsigned short)`表示每个像素占用的字节数,`width * height`表示总共需要写入的像素数量。
3. 关闭文件:
```c
fclose(fp);
```
完整的代码如下:
```c
#include <stdio.h>
void save_raw(unsigned short* pixel, int width, int height) {
FILE* fp = fopen("pixel.raw", "wb");
if (fp == NULL) {
printf("Failed to open file!\n");
return;
}
fwrite(pixel, sizeof(unsigned short), width * height, fp);
fclose(fp);
}
```
注意:保存为RAW格式的文件通常不包含文件头信息,因此在读取时需要知道像素数据的宽度和高度。