Pull to refresh
  • by relevance
  • by date
  • by rating

Парочка полезностей для обработки фоток

Lumber room
Как и почти все из нас пользуюсь цифровым фотиком я очень давно. А сейчас он есть уже просто у каждого, более того теперь каждый телефон снимает с вполне приличным качеством и количество фоток с телефонов увеличивается не дням, а по часам.

Все это подтолкнуло меня к написанию пары тулов, которые могут оказаться полезны еще кому-нибудь кроме меня.
Читать дальше →
Total votes 23: ↑18 and ↓5 +13
Views356
Comments 15

Геотаггинг: не картами едиными

Lumber room
image
На просторах интернетов уже довольно широко распространен прием показа карты того места, где снята фотография. На практике, это реализуется двумя путями:
  1. Просто указанием места на карте, например, как это делается на Flickr или при помощи плагина GeoPress для Wordpress
  2. Извлечением координат из EXIF'а фотографии — если они там есть
Второй способ, естественно, куда «красивее» и правильнее — но несколько сложнее технически. Однако не буду рассматривать, как добавить координаты в EXIF — а расскажу о том, как их можно использовать.
Давно, очень давно мучала меня идея — не хочу показывать карту. То есть карта это хорошо, но не все. Хочу человеческим языком сказать посетителю: фотография снята в таком-то городе по такому-то адресу. Ну очень давно хотел я это сделать, и в конце концов собрался.
Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Views275
Comments 1

Еще один глупый скрипт для сортировки фотографий по EXIF под *nix

Lumber room
Как-то так получилось, что на домашней файло-помойке скопилось 20Гб фотографий в не отсортированном виде. Причем, если в последнее время я и дочка пользуемся EOS Utility и она аккуратно складывает фотографии по годам/месяцам/дням, то все фотографии ранее и с других фотоаппаратов просто сваливались в различные поддиректории. Соответственно захотелось причесать этот бардак, для чего был и сделано следующее:

1. Установлен пакет exifprobe (Он читает информацию об EXIF )
2. Написан скриптик «sort_by_exif_date.sh»:
#!/bin/bash
if [ -f "${1}" ]
then
CurrDate=`/usr/bin/exifprobe -L "${1}" | awk 'BEGIN {DateTime=""} /DateTime/{DateTime=$3} END{print DateTime}' | sed s/\'//g`
ToPath=`echo ./${CurrDate}/ | sed 's/:/\//g'`
if [ "$CurrDate" = "" ]
then
ToPath="./Unknown/"
fi

mkdir -p ${ToPath}
mv "${1}" ${ToPath}
Cmd=""${1}" To ${ToPath}"
echo ${Cmd}
fi

3. Запущено вот такое:
find. -path "./200[1234567890]" -prune -o -exec ~/bin/sort_by_exif_date.sh {} \;
4. И почищены пустые директории (удалились только пустые):
find. -type d -exec rmdir "{}" \;


В результате все фотографии, имевшии exif информацию, разложились по папочкам, все неопознанное упало в папку Unkonown.

Таким образом, о добрый %USERNAME%, я уменьшил меру Хаоса на одной отдельно взятой файло-помойке.
Total votes 54: ↑42 and ↓12 +30
Views846
Comments 29

Exponator – расширение для просмотра EXIF-данных фотографий

Google Chrome
Exponator Я достаточно давно хотел сделать расширение, которое позволяло бы просматривать данные об экспозиции фотографии, которые хранятся в EXIF. И вот, вдохновленный постом «Создание расширения для Google Chrome» решил-таки потратить на это время.

Ссылка на расширение: Exponator.

Под катом будет кратко рассказано о процессе создания, нескольких подводных камнях и задан вопрос опытным разработчикам. :-)
Читать дальше →
Total votes 37: ↑32 and ↓5 +27
Views8.5K
Comments 19

Демонстрация FileAPI в Firefox 3.6: чтение данных EXIF из локального файла JPEG

Firefox
Translation
Поль Руже (Paul Rouget) скомпоновал прекрасную демонстрацию нового FileAPI, который мы включаем в Firefox 3.6. Демонстрация позволяет вам перетащить с рабочего стола во браузер такой JPEG, который содержит данные EXIF, и она может извлечь координаты GPS из изображения и затем загрузить то местонахождение, в котором была заснята фотография — всё это из джаваскрипта.

Если у вас есть Firefox 3.6 beta, можете поглядеть демонстрацию или просто посмотреть видеоролик ниже.



Постскриптум переводчика:  в том же блоге есть небезынтересный обзор самогó FileAPI, с познавательными идеями и примерами кода на джаваскрипте.
Total votes 43: ↑31 and ↓12 +19
Views668
Comments 13

Беззвучные названия фотоснимков

Lumber room
  • IMG_0067
  • DSC00139
  • P1030944
Знакомые название, не правда ли?
Цифровые фотоаппараты, сотовые телефоны с камерой, оставляет подобные беззвучные название созданным снимкам. При съёмке одним устройством, вопросов с очередностью сюжета во время просмотра фотографий не возникает, но когда 2, 3 и больше – не разобраться.
Простоя функция – «сохранить в формате Y.m.d H:i:s», но повстречать в каком-либо фотоаппарате мне не довелось.
Это пол беды, так как данные о дате и времени можно взять из EXIF, но чаще всего они выставлены не точно, а то совсем отличаются на месяца и года. Данную проблему решает встроенный в фотоаппарат GPS (хотя таких устройств пока совсем не много). Хочется же простой синхронизации времени включающей при подключении к компьютеру, сделать это не сложно, но сделал ли кто-то из производителей, сомневаюсь.
Total votes 20: ↑7 and ↓13 -6
Views216
Comments 19

Geotagging — привязка фотографий к карте

.NET
Уверен что про geotagging слышало подавляющее большинство хабраюзеров, особенно те кто интересуется фотографией. Для тех же, кто все таки не слышал поясню — в двух словах geotagging есть внедрение Exif тегов содержащих информацию с координатами GPS в фотографии с последующей привязкой фотографий к карте.

Возможность просмотра привязанных к картам фотографий предоставляет большинство современных фото-хостингов — PicasaWeb, Flickr, Яндекс-Фотки и прочие, да и десктопные программы подтягиваются, например Picasa.

Читать дальше...
Total votes 56: ↑38 and ↓18 +20
Views34.3K
Comments 14

Добавляем координаты в EXIF-тег в собственном приложении для iOS

Development for iOS
Sandbox
Всем известно, что приложение «Фото», установленное на всех iOS-девайсах, позволяет просматривать не только фотографии пользователей, но и отметки на карте, где были сделаны эти фотографии. Если вы делаете фотографию с помощью стандартной камеры, то информация о вашем текущем местоположении автоматически заносится в EXIF-тег, находящийся внутри изображения и вы увидите новую отметку на карте. Это изображение можно отправить друзьям или разместить в интернете. А с помощью записанных координат все смогут увидеть, где был сделан столь замечательный кадр. Все красиво и удобно.

Этот небольшой топик-подсказка поможет вам, когда необходимо сделать собственное приложение с камерой, которое будет повторять данный функционал и (скорее всего) выполнять какие-то действия с полученным изображением (в моем случае свежую фотографии необходимо было загружать на веб-сайт, где пользователи могут просматривать фотографии и места на карте).
Читать дальше →
Total votes 10: ↑7 and ↓3 +4
Views1.7K
Comments 4

Google Image Search начал показывать метаданные EXIF

Search engines
Поиск по картинкам Google Image Search дополнился новой функцией: меню с расширенной информацией об изображении. Теперь, если файл содержит метаданные EXIF, то некоторые из них демонстрируются прямо в окне с поисковыми результатами, в том числе дата съёмки, модель фотоаппарата и параметры съёмки (выдержка, диафрагма, ISO, фокусное расстояние, использование вспышки, настройки экспокоррекции).

К сожалению или к счастью, Google не показывает остальные метаданные (например, координаты GPS и идентификационный номер фотоаппарата) и не позволяет искать фотографии по этим параметрам. Хотя это было бы удобно — можно было бы посмотреть все фотографии, сделанные в данном конкретном месте или конкретным фотоаппаратом. Вся эта информация наверняка есть в кэше Google, но такую функцию уже можно было назвать нарушением приватности.
Total votes 13: ↑9 and ↓4 +5
Views3.5K
Comments 2

Re: Командная строка на службе фотографа-линуксоида

Configuring Linux
Sandbox
Недавно опубликована статья «Командная строка на службе фотографа-линуксоида», где автор пишет о решении разных типовых задач, встающих перед фотографом-линуксоидом, но он рассмотрел явно не всё.

Первая, а точнее, нулевая задача — скопировать изображения. Казалось бы, в ней нет чего-то такого, что бы подлежало оптимизации и автоматизации: всегда можно нажать F5 в mc либо перетащить файлы мышкой или же воспользоваться каким-нибудь менеджером фотографий наподобие digiKam. Можно — но не нужно: слишком много лишних движений. Фотографу-линуксоиду (а точнее, линуксоиду, время от времени занимающемуся фотографией) обычно надо лишь забрать фотографии с карты памяти, аккуратно сложить их на жёсткий диск, рассортировав, например, по времени съёмки и, если лишние буквы раздражают взгляд, убрать их.

Другая задача, о которой говорили в комментариях — пакетное уменьшение фотографий и их подписывание. Один из методов — использовать ImageMagick, к которому доступны различные интерфейсы: как интерфейс командной строки (программы convert, mogrify, montage), так и API для различных языков программирования. В случае с перлом — модуль Image::Magick. ImageMagick позволит и уменьшить фотографию, и подписать её.

Я подобные задачи автоматизировал следующим образом:
Читать дальше →
Total votes 54: ↑50 and ↓4 +46
Views2.9K
Comments 39

Работа с EXIF геотегами в C#

.NET
Sandbox
После того как я закончил программу для геотегинга, появилась мысль написать данную статью – дабы поменьше людей наступало на те же грабли, так как толковой информации по данным вопросам не так уж и много.
Итак, я не собираюсь рассказывать, что такое геотегинг или EXIF, об этом можно и в Википедии почитать. А вот как сделать программку на C#, которая бы считывала и записывала данные в EXIF я и собираюсь рассказать.
Читать дальше →
Total votes 31: ↑28 and ↓3 +25
Views16.5K
Comments 11

UIImage, EXIF и немного рантайма

Luxoft corporate blogDevelopment for iOS
image

Для обладателей iOS-устройств существует огромное количество web-сервисов, предоставляющих возможность публиковать фотографии на своих ресурсах. За примерами долго ходить не надо. Это и социальные сети ВКонтакте, Фейсбук — сервисы, если можно выразиться, широкого профиля, приложения которых установлены почти у всех пользователей. Так и узкоспециализированные, например, — FourSquare, Path.

Таких сервисов полно и для многих из них существует открытое API, с помощью которого сторонные разработчики (а это мы с вами) могут реализовывать приложения или их отдельные части, взаимодействующие с сервисом. Написать код, который достает из фотоальбомов снимки или делает новый снимок довольно просто. Рассмотрим первый вариант.
Читать дальше →
Total votes 20: ↑15 and ↓5 +10
Views6.1K
Comments 8

Командную строку фотографа-линуксоида — на пенсию!

Programming
Sandbox
Tutorial
Я увлекаюсь фотографией ещё со Смены-8М. Тогда были длительные ожидания пятницы или субботы (печать обычно шла в ночь на выходные), а перед этим оочень долгие ожидания фотоплёнки, химикатов, фотобумаги (ибо дефицит). Теперь же я вырос, стал большим и ленивым. Моя мыльница почти всегда со мной: либо в рюкзаке, либо где-то в кармане. Фотографирую всё, что вызвало интерес. При этом за день может быть одна фотография (шёл с работы), а может быть сразу много (целенаправленно вышел на прогулку). И если с целенаправленным случаем я скорее всего по приходу домой фотографии солью и разберу, то в единичных случаях я забуду и потом окажется что надо рассортировать фотографии сделанные в десяток разных дней. В последнее время выбираться целенаправленно получалось всё меньше, поэтому росло количество одиночных фотографий. И вот в один из таких дней, вдохновившись прошлогодней статьёй, я решил упростить себе хобби. Поскольку на компьютере стоит Linux (openSUSE 12.1), то нерешаемых проблем быть не должно — подумал я. А захотелось мне чтоб оно само копировало и чтоб никуда тыкать не нужно было. Ну, а поскольку я ненастоящий линуксоид (первый и последний скрипт был на третьем курсе 0x0C лет назад), сразу скажу — не всё получилось.
Читать дальше →
Total votes 34: ↑28 and ↓6 +22
Views15.4K
Comments 17

Получение изображения нужного размера без OutOfMemoryError + автоповорот согласно EXIF orientation

ProgrammingJavaDevelopment for Android
Tutorial
Recovery mode
Многие уже наверняка сталкивались с проблемой OutOfMemoryError и находили достаточно толковый мануал Displaying Bitmaps Efficiently. Но если вы еще не успели изобрести свой велосипед на основе мануала, предлагаю свое готовое решение с объяснениями, которое умеет получать изображения:

  • В формате Bitmap и byte[]
  • Уменьшенное с сохранением пропорций
  • Уменьшенное с вырезанием (crop) до заданного размера width x height
  • Оптимизированное для 2g
  • Всегда в правильной ориентации (учитывая EXIF orientation)


Пример использования
ImageManager im = new ImageManager(ctx, 100, 100);
Bitmap bm = im.setIsScale(true)
              .setIsResize(true)
              .setIsCrop(true)
              .getFromFile(myUri.toString());



Далее: OutOfMemoryError и решение
Total votes 16: ↑12 and ↓4 +8
Views20.2K
Comments 24

Vice.com рассекретил местоположение Джона Макафи через метаданные EXIF

Information SecurityGlobal Positioning SystemsImage processing


Компьютерный гик, изобретатель и миллионер Джон Макафи (John McAfee) — автор одноимённого антивируса McAfee — сейчас находится в бегах, скрываясь от правительства Белиза. Несмотря на обвинения в убийстве, у Джона осталось много преданных друзей и поклонников. Например, журналисты издания Vice провели четыре дня в тайном убежище беглеца — и опубликовали фотографию, сделанную на iPhone.
Читать дальше →
Total votes 86: ↑73 and ↓13 +60
Views62.1K
Comments 58

Метаданные для организации хранения фото-архива

Image processing
Привет, хабр!
Наверное, не ошибусь, если скажу, что у многих пользователей хабра скопился небольшой архив фото- и видео- материалов, которые хранят воспоминания о различных моментах собственной жизни, или жизни близких людей. У некоторых этот архив, возможно, уже занимает не один жёсткий диск. Но многие ли из вас задумывались, как лучше хранить все эти фотографии, как с архивом распорядятся ваши дети? Хочу затронуть скользкую и не очень тематическую тему «организации хранения личного фото-архива», в которой много вопросов и мало ответов, много текста и мало картинок.
Читать дальше →
Total votes 23: ↑20 and ↓3 +17
Views40.5K
Comments 67

Как я пленки цифровал, и не только

Image processing
Sandbox

Немного предисловия



Сначала даже мысли не было писать статью, все казалось обыденным и малоинтересным. Но к своему удивлению, занимаясь на новогодних выходных приведением в порядок фотоальбомов, с интересом заметил, что не только я решил посвятить этому полезному делу праздничное время. Соответствующая по тематике статья «Опыт создания каталога и индексации семейного фото-архива. Индексация и оцифровка фотопленок» была и на хабре. Чуть позже появилась еще одна статья «Метаданные для организации хранения фото-архива». Посему решил поделиться каким-никаким опытом, может что по крупицам кому и пригодится.



В общем-то идея отсканировать и упорядочить старые фотографии, конечно же, вынашивалась давно, на такой объем работ по сканированию старых фотопленок (больше сотни) и фотографий (тысячи) решиться непросто. Вообще еще с детства хотел, чтобы у меня были оцифрованные старые фотографии прапрабабушек-прадедушек, и вот наконец спустя 20 лет решил сподвигнуться на это дело.

Читать дальше →
Total votes 23: ↑21 and ↓2 +19
Views200.7K
Comments 46

ExifTool – швейцарский нож фотометаданных

Photographic equipment
Sandbox
Назваться любителем командной строки будет для меня как-то чересчур, скорее, я стал им добровольно-принудительно, т.к. после обновления OS X 10.7 на 10.8 перестала работать программа, которая до того вполне неплохо проставляла геотеги на отснятые фотографии. Здесь надо сделать отступление: на написание этой заметки меня сподвиг более или менее «соседний» материал под названием «Как сэкономить на фотоаппарате с GPS». В моём случае имеет место несколько менее извращённый подход к получению координат посещённых мест, а именно — запись трека GPS-навигатором, остальное же выполняется с помощью ExifTool.

Пожалуй, можно опустить получение удобоваримого формата трека, т.к. это вряд ли сопоставимо с темой заметки, а вот проставление геотегов — одна из задач, которую ExifTool чудесно выполняет.
Читать дальше →
Total votes 30: ↑29 and ↓1 +28
Views24.5K
Comments 6

История одного тестового задания

PythonPerfect code
Sandbox
Некоторое время назад, листая просторы хабра, я наткнулся на вакансию «Python Backend Разработчик». В ней больше всего меня подкупило расположение офиса — он был рядом с домом, и я написал отклик. Ответ пришел быстро с вопросом о том, не готов ли я выполнить тестовое задание. Я ответил, что подумаю, если мне его пришлют. Письма с заданием не было недели две.

И вот, перед самыми майскими праздниками пришел ответ с тестовым заданием. Задание казалось простым, но я решил отказаться от дальнейшего общения вообще, так как почему-то за две недели порыв поиска новой работы прошел, да и праздники впереди. Однако в тот же день я заболел. Вполне себе серьезным насморком со всеми вытекающими. И на следующий день я решил попробовать забороть это тестовое задание и посмотреть, что из этого выйдет. И об этом мой рассказ.
Читать дальше →
Total votes 30: ↑19 and ↓11 +8
Views34.1K
Comments 35
1