The things I do with digital photography on Linux
I've been a Linux user for almost fifteen years, and a digital photography enthusiast for about ten. I bought my first digital camera back in the late 90s while in college, which I used mostly for sharing pictures of my family with my parents, who live in Brazil. About five or six years ago, I crossed the line from family photos to photography as a hobby. I still cannot quite put into words exactly what photography means to me. All I can say is that it is a form of art, and I find it beautiful and inspiring. One of the things I have discovered throughout the years is that a lot of photography is not about having the big, expensive equipment, but being at the right place at the right time. The trick sometimes is realizing that you are there.
That is when I started to carry my camera with me more often. I started carrying it around with me everywhere I went; from going to work to getting my car's oil changed at the local mechanic. I got so used to carrying it around with me that I became a fan of compact, point-and-shoot cameras: I could simply carry it in my jeans pocket, and pull it out anytime I thought a moment was worth capturing. Believe it or not, I decided to purchase a 'bigger, better' camera only just a couple of months ago, and I have finally made the transition to a DSLR camera, which has provided me with quite a bit of flexibility to shoot photos -- yet, not as easy to drag around everywhere I go, and that is why, even with my DSLR, I still keep my point-and-shoot around. Even though it is rare, there have been occasions where I was presented with a moment that I so desperately wanted to capture that I even used my cellphone camera to do so. That is how desperate I get to take photos.
In this article, I will attempt to share with you how I use Linux to manage, edit, and share my photos. With that said, I will warn you right now that I am not a professional photographer: it is something I enjoy, something I am constantly learning about, yet what I do with my photos may or may not be what a professional photographer would recommend.
So, how does one start talking about all that? Since I am not quite sure, I decided to just pick a starting point: equipment.
Currently, I have three different devices to take photos. They are:
- iPhone 3G
- Samsung TL34hd (a.k.a. Samsung NV100HD outside the US)
- Canon EOS Rebel XSi w/ lenses:
- Canon EF-S 18-55 mm IS
- Canon EF 75-300mm f/4-5.6 IS USM
Yes, you read it right, I consider my cellphone's built-in camera good enough to be part of my hobby in photography. The one thing that all of the above devices have in common is that Linux, at least my distribution of choice (Fedora Linux), recognizes all of them as storage devices -- and GNOME, my desktop manager of choice, automatically prompts me to import the photos directly from my phone or SD Cards via gthumb . In this very first step of importing my photos, I must decide two things:
First, the directory structure in which I am going to save my photos: I usually archive my photos based on the dates I have taken them, using the 'YYYYMMDD' format. For example, the photos I transferred today were saved under ~/Pictures/20091101. The second decision is whether I want to keep the original photos on my SD card or delete them after the transfer is complete. I usually delete them.
Once you have your photos on your file system, you have a few choices of applications to manage your work. I personally prefer using Google's Picasa - but it is not open source, usually lags behind the Windows version, and uses a customized version of WINE to run. In this article, I am only going to discuss using Picasa, but if you want to stick with 100% open-source solutions, take a look at: F-Spot, Shotwell, and DigiKam, which I will actually mention a bit more, later on.
There are four simple, main reasons why I use Picasa over an alternative open-source application:
- I am able to do a lot of the mass editing I need to do with my photos. Picasa offers a limited but very well defined set of functions that I can apply to my photos. I can crop, tweak shadow, highlight and modify lighting, saturation, and sharpening levels. I can reduce red eye, rotate photos, auto enhance (something I try not to do often), and apply some standard effects like: black & white, sepia, glow, and tint.
- One of the online services I use to share some of my photos is Google's Picasa Web Album, and even though both F-Spot and DigiKam can also upload photos to it, Picasa is the only one (at least that I know of) that lets you backup your existing online photos to your hard drive.
- I find that Picasa's effects and tuning tools work better on the photos than those of F-Spot or DigiKam, but, then again, I think that is mostly a personal preference.
- Finally, the most important reason why I choose Picasa over other alternatives is because Picasa is also available for Windows and Mac OS. I find it easier to suggest to others who may not use Linux an application that I also have access to, and can help them use to solve their own issues with photo management.
Once I have all my photos organized, edited, and tweaked on Picasa, I usually ask myself one question: Is this a photo I want to share with my family or with the world? If the answer is 'family', and most of them are, I usually select the photos in question and upload them to Picasa Web Album. Now, if the answer is 'world,' at least three things will happen:
- I will tweak the photo a bit more on Picasa, sometimes adding extra shadows or fading away the color to give a more 'artsy' feeling to it.
- I will export the photo from Picasa, usually at the 1600px size and the highest image quality, and then apply some final touches using The GIMP.
- Finally, I will upload the final product to Yahoo's Flickr. I have grown to really enjoy Flickr, not only due to its functionality, but because of the community that grew up around it. I have learned a lot from other Flickr users by exchanging ideas on each other's photos and by simply being inspired by the work of others. Flickr also provides a very easy and intuitive way to keep your photos 'Open Source' under the Creative Commons License.
In the world of digital photography, it is very hard to carry out a conversation or write an article without mentioning Adobe Photoshop. Virtually all professional photographers use it, and a lot of hobbyists do as well. In our world, the Open Source world, there have been many discussions and articles about where The GIMP can and cannot fill the void for Photoshop users. This article is not about that, since I am not good enough with either The GIMP or Photoshop. I can use both just enough to be dangerous, but not enough to be good.
One of my favorite tricks to use with The GIMP, which works almost the same way in Photoshop, is to create a duplicate layer of the photo you are editing, and then:
- Select the top layer
- Go to Filters -> Blur -> Gaussian Blur...
- Change both Horizontal and Vertical Blur Radius to somewhere between 20 and 30
- Click OK
- Under the floating window of Layers, Channels..., change the Mode from Normal to Multiply.
The result is usually a ghostly, foggy photo that adds a lot of emotion to your shot. If the photo turns out too dark, I also tweak the Opacity slide bar right underneath the Layer Mode.
The above photo was also created in The GIMP by creating multiple duplicate layers of a color photo and a black and white photo, and using the magic wand to erase certain areas of the black and white photo exposing the color underneath.
One special type of photos that I have started working on recently is panoramic photos , a technique for capturing photos with an 'elongated field of view.' The proper way to create usually requires setting the camera in the portrait position (AKA standing up) on a rotating-head tripod, and taking a series of overlapping photos of your subject. Then, you download your shots and stitch your photos together with some specialized piece of software. I don't have a tripod (yet), but still have fun putting these together.
The above is my attempt to create a panoramic photo of Lake Raleigh, NC. It took a total of thirteen shots and using the Open Source application hugin, which is available for most current Linux distributions as well as for other operating systems. Some distributions may not include the 'auto-stitch' feature, which basically just means you have to go through your photos and add common points between your photos so the program can stitch each photo correctly.
Above is the final result.
Facebook and Mobile Photos
How many of you are on Facebook? Linux Gazette is (see: http://www.facebook.com/group.php?gid=110960368283 ). As I said in the beginning, I even use my cellphone to take photos, more often than not the photos taken with my cellphone get uploaded directly to Facebook, never to be shared with anyone outside of my friends list. But sometimes, I do want to share them on Picasa Web Album or Flickr, and the original from the cellphone is no longer there.
The solution is to use the kipi-plugins on digiKam, and import your Facebook photos. It is a great way to recover old cellphone photos, and to backup any other photos that may have been uploaded to Facebook.
The next technique that I would like to play with, in photography, is High Dynamic Range (HDR) image processing, which is a way to "allow a greater dynamic range of luminances between the lightest and darkest areas of an image". The open source application that I will be working with is qtpfsgui, and when I do have some decent results to show off, I will surely write up some steps on how to get them working.
And finally, if you are interested in learning more about photography and terms like aperture, exposure, wide angle and telephoto, I highly recommend Volumes 1, 2, and 3 of The Digital Photography Book by Scott Kelby. It will give you several tips on what type of techniques, software, and hardware the professional photographers are using in the 'real' world. Enjoy!
[ Keeping one's own photographs in order is an important task. In case you want to automatically rename your digital images using metadata from the camera itself you might want to check out the jhead tool, which can query and modify the JPEG header and EXIF information. -- René ]
Anderson Silva works as an IT Release Engineer at Red Hat, Inc. He holds a BS in Computer Science from Liberty University, a MS in Information Systems from the University of Maine. He is a Red Hat Certified Engineer working towards becoming a Red Hat Certified Architect and has authored several Linux based articles for publications like: Linux Gazette, Revista do Linux, and Red Hat Magazine. Anderson has been married to his High School sweetheart, Joanna (who helps him edit his articles before submission), for 11 years, and has 3 kids. When he is not working or writing, he enjoys photography, spending time with his family, road cycling, watching Formula 1 and Indycar races, and taking his boys karting,