ESP32如何将esp_camera_fb_get()格式的图片数据改为file格式
时间: 2023-12-08 10:06:46 浏览: 213
将 esp_camera_fb_get() 函数获取到的图片数据转换为 file 格式,可以通过以下步骤实现:
1. 将图片数据保存到内存中,可以使用类似下面的代码:
```c
camera_fb_t *fb = esp_camera_fb_get();
if (!fb) {
return ESP_FAIL;
}
uint8_t *img_buf = fb->buf;
size_t img_size = fb->len;
```
2. 创建一个文件并将图片数据写入文件中,可以使用类似下面的代码:
```c
FILE* f = fopen("/path/to/image/file.jpg", "wb");
if (f == NULL) {
return ESP_FAIL;
}
fwrite(img_buf, sizeof(uint8_t), img_size, f);
fclose(f);
```
3. 将保存的文件读取回来,可以使用类似下面的代码:
```c
FILE* f = fopen("/path/to/image/file.jpg", "rb");
if (f == NULL) {
return ESP_FAIL;
}
fseek(f, 0, SEEK_END);
long fsize = ftell(f);
fseek(f, 0, SEEK_SET); // same as rewind(f);
char *img_buf = malloc(fsize + 1);
fread(img_buf, fsize, 1, f);
fclose(f);
```
这样就可以将 esp_camera_fb_get() 函数获取到的图片数据转换为 file 格式了。
阅读全文