Краткая версия вопроса:
Кто-нибудь знает какие-нибудь хорошие пакеты для управления/редактирования фотографий с открытым исходным кодом, а-ля Aperture или Lightroom ?
Кстати, я бы хотел, чтобы он работал на MacOS X, хотя варианты, которые являются (более или менее) кроссплатформенными, безусловно, будут приветствоваться, если MacOS X является одной из поддерживаемых платформ.
Я знаю, что там есть кое-что , но пока что я не сталкивался с чем-то, что сделало бы меня особенно счастливым. (Хотя я признаю, что я только взглянул на некоторые из доступных вариантов и, вероятно, сделал меньше для других.)
Более подробно (предупреждение: остальная часть этого поста будет длинной. Не стесняйтесь бегло просмотреть - я выделил некоторые вещи жирным шрифтом, чтобы помочь с этим)...
Есть куча вещей, которые я хотел бы видеть в такой программе. (Некоторые из них могут быть функциями типа «в ваших мечтах», но, эй, это отчасти то, о чем этот пост — поиск программного пакета, о котором я мечтал . К чему Aperture и Lightroom приближаются, но не вполне там, по разным причинам.) (Этот пост был частично вдохновлен вопросом о Lightroom , который, кажется, подчеркивает потенциально отсутствующую функцию.) Такие функции могут включать (и я уверен, что это только подмножество):
Это должно быть быстро — Aperture и Lightroom неплохо справляются (обычно) с быстрым выполнением задач. Для этого нужно хотя бы приблизиться к их численности, а желательно и побить их.
Возможность написания сценариев . Было бы очень неплохо иметь возможность писать небольшие сценарии для запроса набора фотографий различными способами, а затем воздействовать на них — будь то корректировка, массовый экспорт или автоматическое добавление фотографий. теги или что-то еще. Я думаю, что это действительно мое требование № 1 — я особенно внимательно отношусь к некоторым вещам, и в настоящее время у меня есть сценарии, которые я запускаю до импорта и после экспорта из Aperture или Lightroom. Было бы неплохо интегрировать эти вещи. Чтобы определить, что я ищу дальше, я хотел бы иметь возможность делать такие вещи, как:
изменять имена файлов во время импорта на основе метаданных камеры . (например, измените [card]/DCIM/123CANON/IMG_4567.CR2
, снятое на моем 30D, на что-то вроде [datastore]/2010/11/2010-11-30-some_shoot/my30d-123-4567.CR2
, где some_shoot
мне предлагается ввести что-то во время импорта, а остальное выясняется из метаданных и / или исходного имени файла.)
возьмите это, some_shoot
а также автоматически примените данные EXIF и/или IPTC во время импорта на их основе -- и/или другие вещи, которые мне предлагается (где я могу настроить, какие вещи я хочу запрашивать) или настроили (например, автоматический - добавление заявлений об авторских правах и т. д.)
автоматический импорт - все вышеперечисленное выполняется, как только я вставляю карту или, по моему желанию (где-то в настройках), при нажатии одной кнопки или что-то еще.
выбор изображений с произвольными запросами - возможно, что-то похожее на SQL ? Хотя это и отличается от этого — возможность создать, скажем, переменную, представляющую собой набор изображений, из которых вы можете делать дальнейший выбор или выполнять другие действия. Может быть, что-то вроде (произвольно используя ruby -подобный синтаксис для моего псевдокода):
lowlight = library.search(:iso => 100,
:exposure => '< 1/4',
:aperture => '> f/16')
после чего я мог бы сделать:
thefunstuff = lowlight.search(:rating => '> 3', # 3 stars or better
# must have all of these tags:
:tags => [ 'beach', 'california' ],
# and any one or more of these:
:any_tag => [ 'light painting', 'LEDs', 'fire poi' ])
после чего я мог бы сделать:
thefunstuff.add_tag('light painting') # make sure all have this tag
thefunstuff.export_to_flickr(:find_set => 'Low Light',
:create_set => 'Light Painting on California Beaches')
изменение настроек - работаю ли я над current_photo
, или thefunstuff
сверху, имея возможность изменять различные настройки - будь то adjust_exposure(+0.1)
, или set_whitebalance(5000, -3) # kelvin, tint
, или photoB.exposure = photoA.exposure
или даже:
thephotosIwanttweaked.set(photoB.get_settings(:exposure,
:whitebalance, :iptc => { :tags, :copyright })
где thephotosIwanttweaked
переменная, содержащая коллекцию ранее полученных фотографий — возможно, с помощью запроса, как показано выше, или, возможно, с помощью выбора на основе графического интерфейса (щелкните изображение, Shift-щелчок, чтобы выбрать еще несколько, затем скажите thephotosIwanttweaked = gui.currently_selected_photos
или что-то в этом роде)
Режим взаимодействия с клавиатурой . Как программист из «прошлой жизни» (очевидно из вышесказанного), я обнаружил, что мне нравится много раз держать руки на клавиатуре. Взаимодействие с графическим интерфейсом и мышью (или с планшетом, или с чем-то еще) весьма полезно при манипулировании изображениями, и я хочу, чтобы это тоже существовало. Я просто считаю, что набирать «выбрать все» в подсказке или нажимать «команда-A» на клавиатуре или тому подобное гораздо быстрее и проще (особенно для некоторых вещей), чем делать это с помощью графического интерфейса. (См., например, раздел выше о выборе изображений с произвольными запросами.) В последнее время я начал использовать emacs для чего-то (после перехода с vim -- войны редакторовздесь нельзя, да? О, мало кто из вас вообще понимает, о чем я, а?). По моему мнению, иметь возможность использовать настоящий emacs и/или иметь emacs, способный общаться с ним через API, было бы круто. (Конечно, это предположительно означало бы, что также/вместо этого будет elisp- способ взаимодействия с this, а не ruby, но что угодно. Или, может быть , изобретен новый язык, специально предназначенный для этой цели .
Расширяемость — у этой штуки должен быть хороший API для написания всего, от инструментов импорта RAW до плагинов быстрого редактирования изображений и экспортеров для вашего любимого веб-сайта. Может быть, распознавание лиц и тому подобное тоже?
Манипуляции с графическим интерфейсом в реальном времени — очень похожи на пользовательские интерфейсы в Aperture или Lightroom. Наряду со всем вышеперечисленным, стандартные манипуляции на основе графического интерфейса также кажутся мне весьма важными — наличие обратной связи в реальном времени (или близкой к ней) при внесении визуальных изменений является ключом к визуальным вещам.
Умение идентифицировать объекты/людей на фотографиях-- Одна вещь, которой, как мне кажется, не хватает в новой функции распознавания лиц Aperture, и которая могла бы быть действительно полезной для меня в последнее время, - это способ идентифицировать ("пометить", что угодно) людей или объекты на фотографии. Пример сценария: я снимаю спортивное мероприятие, и я хочу пройти и быстро и легко определить, какие игроки есть на каждой фотографии. Я представляю себя человеком, выполняющим большую часть работы над этим, хотя автоматическое обнаружение тоже было бы неплохо... но то, что я вижу, отличается от существующих пользовательских интерфейсов, это способ в основном выбрать область фотографии, которая представляет конкретного игрока, а затем сделайте то же самое и для других игроков, а затем выполните второй проход и попытайтесь связать их вместе (возможно, с помощью компьютера). Так что, может быть, я выбираю игрока на одном фото, а не я пока не знаю, кто они, потому что их номер скрыт... но позже я выбираю то, что оказывается тем же человеком на другой фотографии, где виден их номер, а затем, из-за одежды или какой-либо другой отличительной черты, которая может быть, я могу связать два вместе. Но я до сих пор не знаю их имени, обязательно -- но, возможно, у меня есть список, и его можно найти. Я полагаю, это также может быть полезно во множестве других ситуаций — студийная съемка, когда вы хотите определить, какой реквизит использовался в каких кадрах, скажем, чтобы позже вы могли запросить фотографию, которая включает то-то и то-то. такая опора. Вроде того. Разработка хорошего пользовательского интерфейса для этого, вероятно, была бы интересной задачей, но я думаю, что могу представить, как это можно сделать, чтобы это имело смысл. Я выбираю то, что оказывается одним и тем же человеком на другой фотографии, где виден их номер, а затем, благодаря одежде или какой-либо другой отличительной черте, я могу связать их вместе. Но я до сих пор не знаю их имени, обязательно -- но, возможно, у меня есть список, и его можно найти. Я полагаю, это также может быть полезно во множестве других ситуаций — студийная съемка, когда вы хотите определить, какой реквизит использовался в каких кадрах, скажем, чтобы позже вы могли запросить фотографию, которая включает то-то и то-то. такая опора. Вроде того. Разработка хорошего пользовательского интерфейса для этого, вероятно, была бы интересной задачей, но я думаю, что могу представить, как это можно сделать, чтобы это имело смысл. Я выбираю то, что оказывается одним и тем же человеком на другой фотографии, где виден их номер, а затем, благодаря одежде или какой-либо другой отличительной черте, я могу связать их вместе. Но я до сих пор не знаю их имени, обязательно -- но, возможно, у меня есть список, и его можно найти. Я полагаю, это также может быть полезно во множестве других ситуаций — студийная съемка, когда вы хотите определить, какой реквизит использовался в каких кадрах, скажем, чтобы позже вы могли запросить фотографию, которая включает то-то и то-то. такая опора. Вроде того. Разработка хорошего пользовательского интерфейса для этого, вероятно, была бы интересной задачей, но я думаю, что могу представить, как это можно сделать, чтобы это имело смысл. из-за одежды или любой другой отличительной черты я могу связать их вместе. Но я до сих пор не знаю их имени, обязательно -- но, возможно, у меня есть список, и его можно найти. Я полагаю, это также может быть полезно во множестве других ситуаций — студийная съемка, когда вы хотите определить, какой реквизит использовался в каких кадрах, скажем, чтобы позже вы могли запросить фотографию, которая включает то-то и то-то. такая опора. Вроде того. Разработка хорошего пользовательского интерфейса для этого, вероятно, была бы интересной задачей, но я думаю, что могу представить, как это можно сделать, чтобы это имело смысл. из-за одежды или любой другой отличительной черты я могу связать их вместе. Но я до сих пор не знаю их имени, обязательно -- но, возможно, у меня есть список, и его можно найти. Я полагаю, это также может быть полезно во множестве других ситуаций — студийная съемка, когда вы хотите определить, какой реквизит использовался в каких кадрах, скажем, чтобы позже вы могли запросить фотографию, которая включает то-то и то-то. такая опора. Вроде того. Разработка хорошего пользовательского интерфейса для этого, вероятно, была бы интересной задачей, но я думаю, что могу представить, как это можно сделать, чтобы это имело смысл. Я представляю себе студийную съемку, где вы хотите определить, какой реквизит использовался в каких кадрах, скажем, чтобы позже вы могли попросить фотографию с таким-то и таким-то реквизитом. Вроде того. Разработка хорошего пользовательского интерфейса для этого, вероятно, была бы интересной задачей, но я думаю, что могу представить, как это можно сделать, чтобы это имело смысл. Я представляю себе студийную съемку, где вы хотите определить, какой реквизит использовался в каких кадрах, скажем, чтобы позже вы могли попросить фотографию с таким-то и таким-то реквизитом. Вроде того. Разработка хорошего пользовательского интерфейса для этого, вероятно, была бы интересной задачей, но я думаю, что могу представить, как это можно сделать, чтобы это имело смысл.
Работа с фотографиями и/или метаданными на нескольких устройствах-- Возможно, файлы RAW существуют только на одном устройстве или, может быть, они находятся на сетевом диске, и к ним можно получить доступ с нескольких компьютеров. Но что, если бы превью и метаданные автоматически загружались куда-нибудь на веб-сервер, чтобы вы могли получить к ним доступ, скажем, на своем смартфоне, и делать оценки, теги и тому подобное. Данные будут синхронизированы (каким-то образом), а также потенциально могут быть переданы разным людям — возможно (если, скажем, это использовалось в какой-то компании) ваш координатор мероприятия лучше справляется с задачами идентификации, а ваш фотограф лучше справляется с постобработкой самого изображения, и ваш графический дизайнер тоже хочет внести свой вклад. Если бы все эти люди могли получить доступ к одним и тем же изображениям, это было бы действительно очень полезно. (Это также может относиться к фотобизнесу с помощниками и тому подобным.)
В любом случае, надеюсь, это дает общее представление о тех вещах, которые я хотел бы сделать и увидеть, хотя я уверен, что только коснулся поверхности того, что возможно, и что даже часть этого материала была бы полезна. мне. Кто-нибудь знает что-нибудь подобное?
В качестве альтернативы, будет ли кто-нибудь заинтересован в том, чтобы начать работу над таким зверем? Мне потребуется намного больше опыта в программировании графического интерфейса пользователя, манипулировании графикой и т.п., не говоря уже о том, чтобы потратить больше времени и энергии на работу над этим, прежде чем я смогу делать что-либо, что хотя бы начнет приносить пользу на моем компьютере. собственный... но я думаю, что если бы у меня были люди, с которыми можно было бы поработать, мы могли бы вместе сделать что-то действительно классное.
Я мог бы также представить себе создание компании вокруг него — вполне может быть какое-то оборудование, которое было бы полезно интегрировать с ним, что могло бы стать источником дохода. Или все это можно было бы сделать просто как программное обеспечение с открытым исходным кодом, созданное добровольцами. Так или иначе.
Хорошо, я сделал бессвязный сейчас. Мне очень любопытно посмотреть, какие ответы принесет этот вопрос. :)
Вы смотрели Darktable ? Кажется, что это с открытым исходным кодом и только для Linux.
Он достаточно быстрый и поддерживает вычисления на графическом процессоре с использованием OpenCL.
Он поддерживает сценарии с использованием LUA. Это довольно недавняя функция (по состоянию на 15 год), поэтому API все еще невелик.
Вы можете сделать довольно много вещей, используя клавиатуру. Вы должны проверить это сами.
Если вы не можете сделать это с помощью Lua, вы можете взломать код C. Что ж...
Большинство фильтров работают достаточно быстро, поэтому я думаю, что да.
Неа
Он поддерживает создание временных локальных копий изображений на удаленном диске для манипуляций (и, возможно, обратной синхронизации). Я не использую его таким образом, поэтому я не могу много комментировать.
Он не затрагивает файлы, но сохраняет все в дополнительных файлах. Этот подход очень хорош и делает DT совместимым с другими программами (по крайней мере, по общим свойствам метаданных). Хотя у него есть база данных для ускорения работы, файлы sidecar позволяют вам копировать фотографии, сохраняя при этом манипуляции, которые вы сделали с Darktable.
yum install darktable
и я запускаю его за секунды. Прохладный.Вау, это длинный список.
Я думаю, мы все можем с уверенностью сказать, что сейчас точно ничего подобного нет.
Один из самых интересных проектов, который во многом разделяет ваши цели, — это F-Spot . Возможно, вы захотите принять в нем участие . Также стоит отметить, что функции управления фотографиями находятся в «долгосрочной дорожной карте» для превосходного конвертера RawTherapee , так что это может быть интересным местом для направления энергии.
Да, можно с уверенностью сказать, что такой вещи нет (обновление: посмотрите на это , может быть, но с уровнем производительности, о котором вы спрашиваете?). Даже Gimp далеко не близок к Photoshop для продвинутых пользователей, а описанный вами список функций поместил бы такое приложение в категорию «продвинутых». Это верно не для всех приложений, Firefox родился после Internet Explorer и, безусловно, является конкурентом по функциональности. Тем не менее, Photoshop — это монстр, и у Adobe есть масса ресурсов, которые можно использовать для PS и Lightroom, чтобы сделать их фантастическими программными инженерами, которыми они и являются.
Более того, движение за открытый исходный код уходит своими корнями в Unix, и одна старая заповедь этой философии гласит : «Маленькое — красивое. Заставьте каждую программу делать что-то одно хорошо». Ссылка , которую вы предоставили, хорошо иллюстрирует это. Существует множество мелких инструментов, которые вы можете использовать и которые могут сформировать цепочку, чтобы добраться туда, но это не то, что делает Lightroom или Aperture привлекательными. Суть этих приложений в том, что они были разработаны фотографами для фотографов как единый рабочий процесс. Это позволяет выполнять 90 % простых и полусложных задач с фотографиями из одного приложения с использованием одного и того же пользовательского интерфейса. Это экономит людям столько времени!
Я имею в виду, что на этой неделе вы можете получить Lightroom за 150 долларов. Это действительно дешево для времени, которое сэкономит вам и силу этого инструмента. Если вы снимаете в RAW, без этого трудно жить. Это тоже нужно учитывать: это половина цены моего самого дешевого объектива, а рядом со мной лежат 3 объектива, которые почти в 10 раз дороже.
Я работаю в бизнесе с открытым исходным кодом, и этим я зарабатываю на жизнь уже более 10 лет. Мы создаем передовые программы (научные, то есть биомедицинские, суперкомпьютерные), но не из воздуха, мы должны их финансировать, мы должны платить зарплату. Сообщество помогает, но когда оно становится довольно сложным, кривая обучения может быть крутой. Я не вижу конкурента Lightroom в ближайшее время, только от добровольцев, работающих в свободное время с таким уровнем производительности .
Ваш первый запрос, производительность, является ключевым для меня здесь, потому что, если мне требуется всего на 30% или 50% больше времени для обработки одной фотографии, умножьте это на 15 000+ фотографий в год, и время, которое я потратил впустую, полностью оправдывает покупку быстрой рекламы. приложение. Я видел приложения с открытым исходным кодом, ориентированные на функции, некоторые на оптимизацию/производительность, редко и то и другое (и я их не виню). Например, гонка за производительность Javascript в Firefox началась совсем недавно. Сначала я выбираю (и поддерживаю) программное обеспечение с открытым исходным кодом, но когда мне нужно выполнить работу и у инструмента есть явное преимущество, я (или моя компания) вложу деньги, чтобы купить условно-бесплатное или коммерческое приложение по разумной цене. Прагматизм, наверное.
Теперь вот что я хочу спросить вас честно. Как далеко вы использовали Lightroom? Кажется, ты это сделал, но я просто спрашиваю. Вы упоминаете, что это не зависит от того, чего вы хотите, но я немного озадачен:
Не полный ответ, но Exiftool — это Perl-библиотека/инструмент командной строки для чтения/записи метаданных фотографий. Теоретически кое-что из того, что вы хотите, может быть написано с его помощью, особенно автоматическая пометка изображений и установка имен файлов и каталогов.
Вот мой скрипт импорта и изменения ; в этом нет ничего особенного, но, возможно, полезно посмотреть. Изменение может быть расширено, чтобы включить все, что exiftool может получить в свои руки.
Darktable (которое вы можете скачать для OSX здесь ), вероятно, является наиболее подходящим программным обеспечением для того, что вы ищете. Рабочий процесс по-прежнему имеет некоторые шероховатости по сравнению с Lightroom или Aperture, но вполне пригоден для использования, особенно если вы ищете интерфейс для сценариев.
Итай
Рид
Рид
Линдес
HiredMind
Эй Джей Финч
Линдес