如何在C ++中使用原始jpeg缓冲区将EXIF标签放入JPG中?

时间:2020-03-06 14:20:20  来源:igfitidea点击:

我有点问题。

我从相机获得了RAW char *缓冲区,因此需要添加此标签,然后才能将其保存到磁盘。不能将文件写入磁盘并再次读回,因为这将发生数千次。

除了每英寸的宽度,高度和像素以外,我从相机接收的缓冲数据不包含任何EXIF信息。

有任何想法吗? (C ++)

解决方案

有什么不同?为什么对磁盘上的文件进行处理与在内存中进行处理有什么不同?

从磁盘读取文件后,只需执行我们要执行的操作即可。

据我所知,JPEG中的EXIF数据是文件的连续子​​部分。
所以

  • 在内存中准备EXIF数据
  • 将JPEG文件的一部分写入EXIF
  • 编写准备好的EXIF
  • 写入其余的JPEG文件

查看此PDF,在第20页上,我们会看到一张示意图,该图表明我们将放置或者修改exif信息。磁盘上的文件有什么区别?

相机的JPEG缓冲区中是否已经包含EXIF部分?

我们可能想看看Exiv2库。我知道它可以在文件上运行,但我想它也具有在内存缓冲区上运行的功能。