Page 1 of 2

Exif

Posted: Tue Jul 15, 2014 6:09 pm
by IgorA
Сделал новую библиотеку для просмотра информации из изображений в формате Exif. Добавил в ревизии 4994 библиотеку и приложение которое ее использует.
Если кто не знает что это за формат и для чего он нужен, то коротко говоря это информация которую добавляют к снимкам цифровые фотокамеры. В нем может содержатся название фирмы выпустившей камеру, модель камеры, дата снимка, фокусное расстояние и т. д. Теперь можно через Exif получать информацию о снимках.
Пока что можно смотреть текстовые данные из изображений jpg.
Возможно в дальнейшем кто-либо захочет прикрутить библиотеку к программе kiv.
Планируются дальнейшие доработки библиотеки.

Re: Exif

Posted: Tue Jul 15, 2014 6:30 pm
by ppk-center
Вы молодец! Хорошо бы сортировать по этим данным и поиск по ним, я не навязываю!

Re: Exif

Posted: Tue Jul 15, 2014 7:47 pm
by Wildwest
Молодец, можешь дать ссылки на документацию по формату?

Re: Exif

Posted: Tue Jul 15, 2014 10:28 pm
by IgorA
Документация та что я находил на английском языке. В основном пока пользовался страницами с 3-х сайтов. А также тестировал программу на фотографиях с Nikon, Canon, телефона Nokia. Но пока библиотека разбирает общую часть данных из app1.

1) http://www.media.mit.edu/pia/Research/d ... /exif.html
2) http://www.sno.phy.queensu.ca/~phil/exi ... /EXIF.html
http://www.sno.phy.queensu.ca/~phil/exi ... Nikon.html
3) http://www.awaresystems.be/imaging/tiff ... =Find+Tags

Re: Exif

Posted: Wed Jul 16, 2014 2:47 pm
by IgorA
rev 4995
Добавил показ некоторых числовых данных (без знаковые целые по 2 и по 4 байта, а также дробные целые по 4 байта показаны как дробь)
ppk-center wrote:Хорошо бы сортировать по этим данным и поиск по ним, я не навязываю!
Поиск данных эта функция скорее относится к файловым менеджерам. Библиотека только извлекает информацию из открытого файла. Потому для решения этого вопроса сначала нужно просить что-бы авторы файловых менеджеров подключили библиотеку хотя-бы для просмотра информации по одному файлу. А там если получится то дальше может будет и поиск.

Re: Exif

Posted: Thu Jul 17, 2014 10:51 am
by ppk-center
IgorA wrote:rev 4995
Добавил показ некоторых числовых данных (без знаковые целые по 2 и по 4 байта, а также дробные целые по 4 байта показаны как дробь)
ppk-center wrote:Хорошо бы сортировать по этим данным и поиск по ним, я не навязываю!
Поиск данных эта функция скорее относится к файловым менеджерам. Библиотека только извлекает информацию из открытого файла. Потому для решения этого вопроса сначала нужно просить что-бы авторы файловых менеджеров подключили библиотеку хотя-бы для просмотра информации по одному файлу. А там если получится то дальше может будет и поиск.
А музыка использует этот же формат? А то так и до подкастинга не далеко!

Re: Exif

Posted: Thu Jul 17, 2014 8:37 pm
by IgorA
rev 5002
Добавил еще 2 функции для чтения дополнительных параметров, которые сидят глубже в Exif чем те что читались ранее.
Исправил глюк, который мог зациклить программу при открытии файла без Exif данных.
Надо будет сделать справку по библиотеке.
ppk-center wrote:А музыка использует этот же формат? А то так и до подкастинга не далеко!
Видео вроде-бы использует. Музыка может быть тоже, но пока еще не вникал в это.

Re: Exif

Posted: Fri Jul 18, 2014 9:16 pm
by IgorA
rev 5007
1) Оптимизировал код, убрал одну экспортируемую функцию, так как вместо нее можно использовать другую.
2) Сделал справку
3) В примере изменил действия кнопок на панели (4-я выводит расширенные параметры Exif, которые выводятся сразу при открытии файла, потому сразу после открытия файла нажимать на нее смысла нет, 5-я выводит параметры GPS если они есть, 6-я выводит какие-то параметры Interop offset что они означают еще не разобрался)
4) Добавил вывод отрицательных параметров (по 2 и 4 байта), но не проверил работают ли они. Потому что у меня нет файлов с отрицательными параметрами в Exif.

Обнаружился не приятный сюрприз, оказывается коды некоторых тегов могут совпадать. Например вот:

Code: Select all

0x0001	InteropIndex
0x0002	InteropVersion
и

Code: Select all

0x0001	GPSLatitudeRef
0x0002	GPSLatitude

Re: Exif

Posted: Tue Jul 22, 2014 12:35 am
by IgorA
rev 5008
1) Разделил теги на группы, теперь название показывается не только по коду а и в зависимости от группы. Теперь решена проблема когда коды разных тегов в разных группах совпадают.
2) Если название тега не найдено, то вместо вопросов "???" пишется код тега. Так будет удобнее находить и добавлять теги, которых еще нет в коде библиотеки.

Re: Exif

Posted: Wed Jul 23, 2014 10:03 pm
by IgorA
rev 5009-5010
Добавлена функция берущая указатель на данные app2. Пока что доступны данные по камерам Nikon, Canon, Panasonic.
Добавлено отображение данных из числовых 2-х байтовых массивов.
Возможно в будущем будут добавляться данные по камерам новых производителей.
Если вдруг кто не знает, что такое app1 и app2, то коротко можно сказать так:
В app1 хранятся стандартизированные данные по снимкам, т. е. по идее во всех камерах эти данные должны иметь одинаковый формат информации. В app2 хранятся данные которые вносит производитель камеры. И эти данные не имеют общих стандартов. Получается что для каждой фирмы делающей камеры есть свой формат данных в app2.
Вход в app2 делается через специальный тег (с кодом 0x927c), сидящий в app1, но у каждого производителя бывают свои хитрости. Потому добавление новых производителей в функцию exif_get_app2 может быть затруднительным.

Re: Exif

Posted: Fri Mar 11, 2016 7:21 pm
by IgorA
6315
добавлены теги app2 для Samsung

рев 6322
- переименованы 2 функции (убрано из названия _app1 потому что они могут работать не только с app1, что-бы не запутывать пользователей)
- новая функция exif_get_tag_id, которая ищет тег по указанному идентификатору
- обновлен пример

Re: Exif

Posted: Sun Apr 17, 2016 4:40 am
by punk_joker
Скомпилил пример, открыл фотографию, в окне выводятся красные и синие линии Так и должно быть?

Re: Exif

Posted: Sun Apr 17, 2016 6:35 pm
by IgorA
Значит в папке с программой нет картинки со шрифтами, которую можно взять из svn по пути:
...\programs\fs\kfar\trunk\font8x9.bmp или http://websvn.kolibrios.org/dl.php?repn ... 1&peg=6401
Просто так повелось, что в моих программах файлы со шрифтами внутрь программ я почему-то не стал ложить. Потому во многих программах бывают квадраты вместо букв.

Re: Exif

Posted: Thu Oct 06, 2016 2:14 am
by Leency
Привет,

Разбирался с примером библиотеки exif. Спасибо, видно, что работа проделана большая.

Хочу попросить примеры делать попроще, по сути.
Т.е. в исходнике FASM помимо работы с библиотекой EXIF также прикручена загрузка тулбара, шрифта, вывод текста в буфер. Все это сильно усложняет понимание кода. Для себя я смог сократить размер исходника примера с 19 Кб до 4Кб.

Re: Exif

Posted: Mon Oct 10, 2016 12:08 am
by IgorA
Привет, спасибо.
Можно и попроще сделать. Наверное в Eolite может быть появится просмотр exif данных изображений?