Как поместить EXIF-теги в JPG с необработанным буфером JPEG в C ++? - PullRequest
5 голосов
/ 18 сентября 2008

У меня небольшая проблема.

Я получаю буфер RAW char * с камеры, и мне нужно добавить эти теги, прежде чем я смогу сохранить их на диск. Запись файла на диск и повторное чтение не возможны, так как это будет происходить тысячи раз.

Данные буфера, которые я получаю с камеры, не содержат никакой информации EXIF, кроме ширины, высоты и пикселей на дюйм.

Есть идеи? (C ++)

Ответы [ 4 ]

4 голосов
/ 18 сентября 2008

Посмотрите на это PDF , на странице 20 у вас есть диаграмма, показывающая, что вы должны были разместить или изменить информацию exif. В чем разница с файлом на диске?

Содержит ли буфер JPEG вашей камеры уже секцию EXIF?

1 голос
/ 18 сентября 2008

Возможно, вы захотите взглянуть на библиотеку Exiv2 . Я знаю, что он может работать с файлами, но я полагаю, что он также имеет функции для работы с буферами памяти.

1 голос
/ 18 сентября 2008

Насколько я знаю, данные EXIF ​​в JPEG являются непрерывной частью файла. Так

  1. подготовить данные EXIF ​​в памяти
  2. записать часть файла JPEG в EXIF ​​
  3. написать подготовленный EXIF ​​
  4. записать остаток файла JPEG
1 голос
/ 18 сентября 2008

Какая разница? Почему работа с файлом на диске отличается от работы с памятью?

Просто сделайте все, что вы делаете после чтения файла с диска ..

...