如何将元数据(即JSON/XML)嵌入图像文件

本文关键字:XML 文件 图像 JSON 元数据 | 更新日期: 2023-09-27 18:08:49

在。net中,假设我有一个应用程序,可以创建和打开一个图像,它的元数据定义在一个单独的文件(即。. json/. xml)。它将生成或打开与映像文件同名的元数据文件。

现在,为了使图像+元数据文件的分发更容易,我想消除额外的元数据文件,以便用户可以打开图像并获得有关图像的所有相关信息。将数据嵌入到图像文件本身的一些好策略是什么?

以下是我通过谷歌搜索找到的一些可能性:

  • 视觉嵌入:
    • 二维码、数据矩阵、PDF417等二维条码编码的数据。
    • 以纯文本形式绘制在图像上的数据,通过OCR检索
  • 嵌入格式:
    • 作为JPEG注释/EXIF注释插入的数据
    • 以PNG格式插入的数据

基本要求是:

    数据可以是JSON, XML或二进制格式,只要它是机器可读的。
  • 数据可以以KB为单位,最多可达几十KB。越多越好。
  • 用于视觉嵌入:
    • 数据应该能够很好地抵抗一定程度的有损压缩。
    • 图像画布上数据"区域"的形状应该尽可能灵活,以便更好地利用图像的实际空间。
  • 支持所有常用的图像格式。(bmp, jpg, png, gif等)
  • 如果可能的话,使用开源的。net库。

欢迎任何建议。谢谢!

如何将元数据(即JSON/XML)嵌入图像文件

这样做的一种方法是将信息作为XML字符串存储在.jpg文件的EXIF部分中,可能存储在EXIF IFD的UserComment字段(9286H)中。

下面是一些使用gdi+加载和保存元数据的信息