Свободно распространяемое программное обеспечение с открытыми исходными кодами и цифровая фотография

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

Вопросы, на которых  попытаюсь остановиться.

1. Создание свободно распространяемых программ с открытыми исходными кодами. Это альтруизм со стороны создателей или нечто другое?

2. Свободный софт по отношению к цифровым камерам – это абстрактное понятие или существующая и весьма полезная реальность?

3. Кто больше заинтересован в его существовании, любитель или профессионал?

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

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

Для тех, кто использует цифровую камеру как моментальную камеру Polaroid – снял и, ничего не обрабатывая, тут же отпечатал, напрямую подсоединив принтер к камере, или с карты памяти в ближайшей цифровой лаборатории – ни платные, не бесплатные программы стороннего разработчика не нужны, ему достаточно того, что лежало в коробке  камеры. А в предельном случае ему вообще не понадобятся программы работающие с камерой. Перенос изображений на экран или бумагу может производиться прямо с карт памяти. Мне известно несколько камер которые не имеют подключения к компьютеру. С мой точки зрения, камеры стоит подключать к компьютеру исключительно для управления ими.  В некоторых особо дорогих моделях типа Leaf valeo, это вообще единственный способ управления, правда, в роли управляющей машины может использоваться и КПК. С точки зрения интерфейса нельзя сказать, что последовательный порт себя исчерпал, для простенького пульта дистанционного управления он куда удобнее, чем USB. Тем не менее USB на сегодня самый распространенный интерфейс, поскольку SCSI  встречается только в очень дорогих или старых камерах, а IEEE1394 стали дополнять и USB.

Программы преобразования RAW файлов в цветное изображение

RAW - это последовательность чисел, каждое из которых  зарегистрировано соответствующим чувствительным элементом камеры. Для того, чтобы превратить их в изображение, нужно знать параметры матрицы, как минимум число чувствительных элементов в строке и направление строк относительно кадра. Как с помощью Photoshop в этом случае получить черно-белое изображение, описано в статьях: Клад, зарытый Casio и Цифровой задник Leaf valeo 11 . Чтобы восстановить цвет, надо еще знать цвет и порядок расположения фильтров перед чувствительными элементами. Если камеры используют RAW формат только для внутренних целей, то он обычно устроен очень просто, но если его собираются отдать фотографу, то его структура усложняется,  производится сжатие без потерь, записывается дополнительная информация о параметрах съемки, дополнительно помещается миниатюра для предварительного просмотра. Обычно камеры сразу внутренними средствами преобразуют изображение в общедоступный формат, но часть информации при этом теряется.  Поэтому у фотографа, привыкшего самостоятельно проявлять пленку, возникает  естественное желание получить полный контроль над обработкой информации зарегистрированной камерой.

Чтобы понять, насколько велико влияние свободных программ на сегодняшнюю цифровую фотографию, достаточно зайти на страничку разработчика программы DCRAW  Д. Коффина (Dave Coffin). С удовлетворением отмечу, что страница содержит текст и на эсперанто. Я считаю это принципиально важным, поскольку согласен с создателями сайта http://www.esperanto.mv.ru/RUS/esp_faq.html

Кроме того, использование английского (как и любого другого национального языка) является дискриминацией остальных языков – ведь жители англоговорящих стран получают огромное преимущество по сравнению с остальными: они-то не должны учить английский!

Я пока не выучил эсперанто, но шансов получить от меня ответ на письмо, написанный на английском языке, равен нулю, а на эсперанто - все может быть :-)

Как следует из текста на странице автора, код этой программы используется почти во всех альтернативных (программам производителя) программах преобразования RAW файлов в цветное изображение. В том числе, и в таких, в целом, платных программах, как Photoshop. Сам модуль преобразования Photoshop Camera Raw plug-in , впрочем, для Photoshop CS, распространяется свободно. Используется эта программа и в бесплатном прекрасном редакторе GIMP. Причем в случае с последним возможности свободного софта проявляются во всем блеске.

GIMP
GIMP
GIMP
GIMP
GIMP
GIMP
GIMP
GIMP
Так выглядит интерфейс GIMP. Даже из этой картинки легко заметить, что все необходимое в нем есть, и построен он весьма логично. Учитывая, что вместе с необходимой библиотекой он занимает всего 10Мб, стоит скачать и попробовать самому :-)
Готовая к установке программа по адресу: http://gimp-win.sourceforge.net/stable.html
Около 10 Мб двумя файлами: GTK+ 2 for Windows (version 2.4.14) и The Gimp for Windows (version 2.2.3)

Итак, в чем же преимущества?

Сама программа DCRAW существует в виде исходного кода на C. Все остальное сделали другие люди. Программа на сегодняшний  день поддерживает 140 камер. В том числе, большинство RAW форматов, которые могут быть вызваны только из служебного меню. Включенная в Photoshop часть этой программы позволяет преобразовывать только официальные файлы RAW, их в последней версии только 70.  Поскольку программа написана на С, то в случае появления новой камеры, со слегка отличающимися параметрами, модернизировать программу для работы с этой камерой может любой, более-менее знакомый с языком С. Самая простая реализация этой программы позволяет запустить ее из командной строки в операционной системе DOS. Необходимые для работы параметры  не всегда удобно набирать в виде чисел, да еще не запутаться в их последовательности. Удобнее было бы иметь отдельное окно или ползунок для выбора каждого параметра, да еще и отдельное окно, чтобы можно было наблюдать за результатами. Кому-то удобно наблюдать за изменениями изображения, для кого-то более наглядным являются гистограммы яркости до и после изменения параметра. Поскольку коды открыты, то нашлось много добровольцев, которые написали оболочки с графическим интерфейсом для удобства работы с этой программой. Рассмотрим только два из них, написанные для редактора GIMP и скомпилированные для Windows.

RawPhoto GIMP-2.0 plug-in

Автор: Pawel T. Jochym

Raw Photo Loader

dcraw

Как мы видим, эта оболочка просто запускает dcraw, что отражается в окне терминала с параметрами, взятыми из графического интерфейса. Обращу внимание, что в первой строчке программа определяет тип камеры, причем ее не удается обмануть, сменив расширение файла.

UFRaw

Автор: Udi Fuchs

UFRaw содержит код dcraw внутри себя, имеет более богатые настройки, отображает две гистограммы яркостей до и после преобразований. Эта программа может работать и независимо от GIMP и сохранять результаты в файле. Обработка проводится с 16 битными числами и только затем перед передачей в GIMP числовые значения округляются до 8 бит. 8 бит - это, пожалуй, единственное, что меня останавливает от полного отказа от Photoshop. Любопытно, как эта программа обрабатывает экзотический снимок камеры FUJIFILM FinePix F700.

UFRaw

UFRaw

Описанные программы предполагают, что с их возможностями вы будете разбираться самостоятельно, потому только обращу внимание на параметр: Clip Saturated pixels в первой программе и Unclip во второй. Он отвечает за то, что делать, если в одном из каналов сигнал зашкалил – отбросить и значения в других каналах или дать, как есть. Если сравнивать с тем, как этот файл обрабатывает  Photoshop Camera Raw plug-in, то легко заметить, что есть разница.

Photoshop Camera Raw plug-in 

Что лучше, я судить не берусь, но есть повод задуматься, какую программу лучше использовать в каждом конкретном случае. В дополнение отмечу, что Photoshop Camera Raw plug-in  имеет больше возможностей, относящихся к дополнительной обработке. Можно регулировать подавление шумов и попытаться исправить хроматические аберрации, причем иногда весьма успешно. 

   

Photoshop Camera Raw plug-in 
Photoshop Camera Raw plug-in 
До коррекции
Photoshop Camera Raw plug-in 
После коррекции. Изображение при верстке увеличено в 2 раза.

Заключение

Итак, кому же больше нужен свободный софт - любителю, который купил камеру с недокументированной возможностью снимать в RAW, или профессионалу, который хочет точно быть уверенным, что же делает программа с его фотографией, и при желании может переделать ее, чтобы она полностью удовлетворяла именно его нуждам. Вопрос, как сами понимаете, риторический. Это нужно не всем любителям и не всем профессионалам. Но тем, кому нужно, нужно до зарезу, и может послужить поводом для ухода с платного Photoshop в бесплатный GIMP или разработки своих собственных программ на базе имеющихся. Разрабатывать программу с чистого листа существенно сложнее и дороже, чем воспользоваться уже имеющимися аналогами. Причем, с точки зрения профессионала, может оказаться рентабельным не самому заниматься модернизацией программы, а заказать ее специалисту, т.е. программисту. Таким образом, свободный софт порождает вторичный рынок, объемы средств в котором, я полагаю, будут с каждым днем расти. Существует масса лицензий, по которым распространяют свободный софт. О них уже много писали, причем, в том числе и мы, но главное их значение, с моей точки зрения, состоит в том, что ни одна из них не тормозит технический прогресс посредством того, что идея, изобретенная какой-то фирмой, может быть запатентована не с целью дальнейшего развития, а с целью воспрепятствовать ее использованию другими фирмами. Я сомневаюсь, что автор идеи, положенной под сукно, получает большие отступные от фирмы, которая это сделала, и которая выступает в роли собаки на сене. Любой автор заинтересован во внедрении своих идей. И я уверен, что он больше заработает, выпустив свою идею в свободно плавание, чем, положив ее под сукно. Понятия свободно распространяемых программ и программ с открытыми исходными кодами, вообще говоря, не идентичны. Просто, если известны исходные коды, то очень трудно воспрепятствовать модернизации и свободному распространению программ на их основе. Для меня наиболее важным является именно доступность исходных кодов, поскольку публикация кодов фактически является аналогом научной статьи, которая способствует как быстрейшему развитию определенного направления, когда ее читают другие специалисты, занимающиеся этой тематикой, так и образованию, когда ее читают студенты. Но, сказавши А, надо говорить и Б. Поэтому я считаю, что важно публиковать и принципиальные монтажные схемы технических устройств, которыми мы пользуемся. Для покупателей электроники в 60-70е годы было вполне естественно, что в комплекте с телевизором шли его принципиальные монтажные схемы. Бурному успеху персональных компьютеров способствовала также открытость конструкции на основе процессоров серии I86. Если бы сегодня производители цифровых фотоаппаратов снабжали бы их подробными схемами, это вряд ли привело бы к их массовому копированию. Зато программы, которые взаимодействуют с камерами типа упомянутой выше DCRAW, совершенствовались и обновлялись бы быстрее. В результате фотограф получил бы более предсказуемый результат от совместного использования программы и камеры. Фотоаппарат является прибором для регистрации изображения, и с точки зрения научного сотрудника, обязательным условием его использования является описание экспериментальной установки (читай, конструкции) и методики проведения эксперимента и обработки результатов (читай, программы).

Научные статьи публикуются ведь не только для того, чтобы застолбить приоритет, но, в первую очередь, для того, чтобы остальные могли двигаться дальше, не повторяя в полном объеме то, что вы уже сделали, удовлетворяя собственное любопытство. Скрывать конструкцию камеры, с точки зрения инженера, - достаточно бессмысленное мероприятие, это не космический корабль - ее всегда можно купить, разобрать и узнать, как она устроена. Знание того, что сделали другие, позволяет, в первую очередь, не копировать (настоящему инженеру это не интересно), а развивать и продвигать идеи. Отсутствие же удобного доступа к информации приводит к тому, что тратится огромное время для повторения того, что уже было сделано другими, а потом, что еще более обидно, копит гигантскую армию юристов, которые делают абсолютно бессмысленную работу по установлению того, кто имеет право на монопольное использование идеи, и зависимо или независимо кто-то другой пришел к этим же результатам. Причем ситуация, хорошо известная по патенту телефона, (когда интервал между заявками Белла и Грея составил всего два часа), превращает патентное право из инструмента, стимулирующего технический прогресс, в инструмент, его сдерживающий. Ситуация, когда масса людей тратит годы на дублирование деятельности друг друга, а потом еще оказывается, что действует принцип "победитель получает все" - чересчур большая роскошь. Если мы хотим иметь качественную аппаратуру и не оказаться в ситуации, когда окружающие провода нас придушат, потому что мы не знаем, ни откуда, ни куда они идут, надо отдавать предпочтение не тем камерам, на которых написано более громкое имя, или проведена более дорогая рекламная кампания, а тем, о конструкции которых доступна более полная информация.

10.02.2005
Установите проигрыватель Flash

Облако тегов:
3D печать
Arduino
Raspberry Pi
Аэрофотосъемка
Байдарки
Геомеханика
История
Камеры
Макросъемка
Объективы
Освещение
Панорамы
Принадлежности
Принтеры
Программы
Сканеры
Стереосъемка
Фильтры
Фокусировка
Фотокубики
...
rss