The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Цифровой фотография и Linux (image linux python usb)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: image, linux, python, usb,  (найти похожие документы)
From: Иван Песин <ipesin at post.Lviv.UA> Newsgroups: Russian Linux Gazette Date: Mon, 14 Jan 2004 14:31:37 +0000 (UTC) Subject: Цифровой фотография и Linux Оригинал: http://gazette.linux.ru.net/lg82/tougher.html Мое руководство по цифровой фотографии Автор: Роб Тофер (Rob Tougher) Перевод: Иван Песин <ipesin at post.Lviv.UA> Содержание * Введение * Хранение фотографий * Обработка фотографий * Публикация фотографий * Заключение Введение С первой же установки на моей машине в 2000-м году Linux выполняет все, что мне нужно на компьютере. Я использую его в следующем: * веб-серфинг и электронная почта * разработка программного обеспечения * написание статей * хостинг сайтов * цифровая фотография Эта статья фокусируется на последнем пункте, цифровой фотографии, и описывает применение Linux для хранения, обработки и публикации моих цифровых фото. Хранение фотографий Я храню мои фотографии в двух местах: на жестком диске (в качестве временного хранилища) и на CD-ROM. На моей машине находятся фотографии последних нескольких месяцев и, при необходимости, их можно быстро найти. Более старые фото я записываю на компакты, чтобы освободить место на диске. Для передачи фотографий с камеры на компьютер я использую Драйвер USB Mass Storage (http://www.linux-usb.org). Этот драйвер является частью ядра Linux и позволяет мне монтировать фотоаппарат (точнее карту памяти в аппарате - Прим.пер.) как SCSI-устройство. После чего я переношу фотографии на мой жесткий диск командой mv. Обычно это выглядит так: prompt$ mount -n /dev/sdb1 /mnt/camera prompt$ mv /mnt/camera/dcim/100msdcf/* /home/robt/docs/photographs/ prompt$ umount -n /mnt/camera Весьма просто, так? Я монтирую камеру, переношу фото в каталог на диске и размонтирую камеру. (Обращаю внимание новичков и самых ленивых на опцию, которую использовал Роб при монтировании -- "-n". Она сообщает утилите mount, что устройство нужно монтировать без записи соответствующей информации в /etc/mtab Это необходимо в том случае, если /etc расположен на файловой системе смонтированной в режиме "только-для-чтения". Надеюсь, идея ясна? Роб таким образом пытается дополнительно обезопасить содержимое /etc от нежелательных изменений. Правда, в том случае, если приходится вносить изменения в настройки системы, раздел необходимо перемонтировать в режиме "чтение-запись". Прим.ред.) (Драйвер USB Mass Storage работает только с некоторыми моделями цифровых фотоаппаратов. У меня -- Sony DSC-F707. Многие другие камеры, например серия Canon PowerShot, распознаются программой Gphoto2 (http://www.gphoto.org/). Некоторые камеры вообще не работают под Linux -- все зависит от производителя: предоставляет ли он нам, сообществу свободного ПО, достаточно технической документации для написания драйвера). (На сегодняшний день, если я не ошибаюсь, лишь самые дешевые цифровые фотоаппараты не работают с Linux. - Прим.пер.) (В любом случае, если вашу фотокамеру не распознаёт Gphoto2, вы можете купить переходник для карты памяти и монтировать её так, как предлагает автор. - Прим.ред.) Когда мой диск заполняется, я переношу старые фото на CD-ROM. Чтобы сделать это, я вставляю пустой CD-ROM в мой CD Writer и ввожу в командной строке (обратитесь к документу CD Writing HOWTO (http://www.tldp.org/HOWTO/CD-Writing-HOWTO.html) за информацией о работе с вашим CD Writer): prompt$ mkisofs -o cd_image /home/robt/docs/photographs prompt$ cdrecord -v speed=4 dev=0,0,0 -data cd_image (Если не хотите пользоваться командной строкой, то рекомендую графическую оболочку к cdrecord, xcdroast. Перебрав несколько front-end'ов для cdrecord, я остановился именно на ней. Прим.ред.) Эти команды создают образ компакта и записывают его на матрицу. Обработка фотографий В фотографии важным понятием является композиция. Понятие "композиция" включает в себя взаимное расположение объектов на фотографии. При создании фотографии, фотограф должен решить важные вопросы: * нужно ли включить объект X в фотографию? * нужно фотографировать горизонтально или вертикально? * какой должна быть глубина резкости? Как начинающему фотографу, мне недостает навыков композиции. Обычно я включаю в свои фотографии слишком много фона и не использую всех возможностей и настроек камеры. Для спасения моих плохих фотографий я пользуюсь программой GIMP (http://www.gimp.org/). GIMP означает GNU Image Manipulation Program. Это полнофункциональная программа обработки изображений, аналогичная программе Adobe Photoshop. Я использую ее для: * обрезания фотографий с некорректной композицией ("кадрирование", если я не ошибаюсь - Прим.пер.) * изменение насыщенности цветов на фото * увеличения резкости размытых фотографий Это лишь несколько возможностей GIMP, но они значительно повышают качество моих фотографий. Ну, а я продолжаю изучать возможности GIMP. Публикация фотографий Я демонстрирую цифровые фотографии моим друзьям и семье. Для этого я отсылаю мои фото на общедоступный сайт. Но перед отправкой я: * изменяю размер фото на подходящий для веб * создаю макеты фотографий * генерирую HTML для отображения фотографий на сайте Для этих целей я применяю два скрипта на Python (http://www.python.org/). Первый называется generate_photographs (http://gazette.linux.ru.net/lg82/misc/tougher/generate_photographs.py.txt). Этот скрипт использует команду convert для создания макетов и фото с измененным размером (convert входит в пакет ImageMagick (http://www.imagemagick.org/). Обратите на него внимание). Вот полный скрипт: #!/usr/bin/env python import os # # Печатает вызов в stdout, а потом передает его ОС. # def system_call(s): print s os.system(s) # # Чистит каталоги. "small" # содержит макеты, "medium" # содержит фото с размером для веб. # for d in ("small", "medium"): system_call("rm -rf " + d) system_call("mkdir " + d) files = os.listdir("photographs") for file in files: if file != ".directory": system_call("convert -resize 640x480 photographs/" + file + " medium/" + file) system_call("convert -resize 160x120 medium/" + file + " small/" + file) Второй скрипт называется generate_html (http://gazette.linux.ru.net/lg82/misc/tougher/generate_html.py.txt). Он перебирает фотографии и создает HTML для их просмотра. Вот этот скрипт (для наглядности я убрал из него HTML-код): #!/usr/bin/env python import os # # убран HTML-код.... # html = "" files = os.listdir("photographs") br = 0 for file in files: html += '<a href="medium/' + file + '">' html += '<img src="small/' + file + '"></img>\n' html += '</a>' if br: html += '<br>\n' br = 0 else: br = 1 # # убран HTML-код.... # f = open("index.php","w+b") f.write(html) f.close() После выполнения этих двух скриптов, я отсылаю файлы на сайт, а друзьям -- адрес, где находятся фотографии. Заключение В этой статье я описал использование Linux для хранения, обработки и публикации личных цифровых фотографий. Надеюсь, я изложил это достаточно ясно и вы сможете извлечь из этого пользу. Роб Тофер Роб -- инженер-программист, пишущий на C++ и работающий в Нью Йорке. _________________________________________________________________ Copyright © 2002, Rob Tougher. Copying license http://www.linuxgazette.com/copying.html Published in Issue 82 of Linux Gazette, September 2002

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру