如何在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库。我知道它可以在文件上运行,但我想它也具有在内存缓冲区上运行的功能。