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

时间:2011-09-15 22:28:49

标签: c# .net image-processing metadata barcode

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

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

我通过谷歌搜索找到了一些可能性:

  • 视觉嵌入:
    • 数据编码为二维条码,例如QR CodeData MatrixPDF417
    • 在图像上以纯文字格式绘制的数据,通过OCR检索
  • 格式嵌入:
    • JPEG条评论/ EXIF评论
    • 插入数据
    • PNG文本块
    • 的形式插入数据

基本要求是:

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

欢迎任何建议。谢谢!

1 个答案:

答案 0 :(得分:2)

执行此操作的一种方法是将信息存储为.jpg文件的EXIF部分中的XML字符串,可能位于EXIF IFD的UserComment字段(9286H)中。

以下是loading and saving metadata using gdi+的一些信息。