Welcome!

Linux Authors: Carmen Gonzalez, Trevor Parsons, Peter Silva, Elizabeth White, Dmitriy Stepanov

Related Topics: Linux

Linux: Article

Managing Digital Pictures with Linux

Create your own photo op

In August, as the proverbial dog days of summer were upon us, I found that news in the Linux world slowed as many people went on vacation with their families. Consequently, these Linux users spent a considerable amount of time snapping large numbers of pictures, capturing memories of landmarks, friends, and family.

I too had the privilege of spending almost two weeks with my family on a trip through the Canadian Rockies where I amassed hundreds of pictures on my digital camera. Because storage is cheap and there's little incremental cost in taking digital pictures, I found myself in the situation where I had so many pictures I couldn't begin to organize them effectively without help. So I started to investigate options for organizing these pictures using Linux desktop software.

Extracting Images from Your Digital Camera

There was a time when extracting images from your digital camera to Linux was somewhat cumbersome. Those days have since passed since there are a number of Linux applications designed for use with your digital camera. Transferring pictures from your camera and various types of digital multimedia storage can be accomplished in a variety of ways. The following are the results of my research on how to acquire and manage these pictures on your Linux desktop and a firsthand account of my research.

gtkam

(www.gphoto.org)
gtkam is a popular application for extracting images from your digital camera, and it's very easy to use. Simply connect the camera cable and turn on the camera, then under the Camera menu choose Add Camera (see Figure 1). You should be able to navigate in a file explorer interface to the files stored on your camera. As with any third-party piece of software you may find that new cameras may not be immediately supported, but by and large the most popular digital cameras are supported well under gtkam.

Media Readers

When I travel I have more than enough chargers and cables so I don't synch my camera via cable. Instead I use a PCMCIA media card reader to take pictures off the flash card that I use in my digital camera and transfer them to my hard drive. I do this by using Konqueror to drag and drop pictures from my flash card to directories on my hard drive. I like this option because it allows me to also copy data including documents and presentations from one PC to another. The nice thing about this method is if you change your camera to one that is not well supported under Linux, you can still use your same tried and true method for transferring pictures. You can also use a USB flash reader that reads your flash card.

I like this option once again because it's not dependent on camera compatibilities. Also, if you have multiple flash cards like me you can download images off one card while the other card is in the camera. See the sidebar on how to mount your digital media via USB.

Linux Photo Album Software

Until recently I knew very little about the image browsers and photo album software available on any platform, let alone Linux, so I decided to try out all that I could find. At the onset my agenda was to simply find something easy to use. With a little research I realized that what I wanted was the ability to organize, crop, and fix "bad" pictures, whether that meant darkening those taken in full sun or cropping out the head of an onlooker who spoiled my shot of a notable landmark.

Konqueror

(http://konqueror.kde.org)
You may be familiar with the Konqueror file browser included as an integral part of the KDE desktop or you may have even used Konqueror to browse the Web. This program is a virtual Swiss army knife of tools integrated into one program. For digital picture buffs you can use Konqueror to view a directory of images as thumbnails, and with its integrated image viewer capabilities you can view the images at their actual size (see Figure 2). You can also export the images to an HTML image gallery that you can view locally or upload to the Web. You can also choose which size thumbnails to use in your gallery, which can also serve double duty as a batch-resizing tool (providing you are okay with the 1,000 pixel-wide limitation). Overall, Konqueror is not the most robust tool for viewing and manipulating pictures but it's a well-integrated and easy to use one for viewing images.

kalbum

(www.paldandy.com/kalbum/)
kalbum is an image browser that was included with my KDE desktop. The kalbum image browser allows you to add data to images such as comments and to rotate them when necessary (see Figure 3). In addition, kalbum allows you to create a rudimentary photo album. If your primary goal is to efficiently view the images, kalbum is a fine choice; if your needs are a little more advanced, you should probably keep looking.

digiKam

(http://digikam.sourceforge.net/)
After looking at a number of photo manipulation packages I found that the application that worked best for me was digiKam. It provided a balance of organizational features, presentation formats, and photo editing. Not only can you view images in an album format, but you can manipulate them or even create an HTML photo album that you can upload to a Web site.

Viewing and Managing Photos

One of the most important things for me with my newly acquired scores of digital pictures was the ability to browse through them and organize them so I could find what I wanted quickly. digiKam does a decent job of this. From an image management standpoint I like the way digiKam creates albums that can be designated by "collections" that you modify. These collections or categories then allow you to view by collection or album. In addition, you can right-click on the thumbnails within an album to rename them or add comments. Plus you may want to create slideshows when you share your pictures. Once again this little open source firecracker offers a number of interesting transition effects when viewing a slideshow.

The only thing that I dislike about the digiKam interface is the inability to view pictures in a three-frame interface. Each picture that I want to edit comes up in a separate window, but that can end up causing me to have a bunch of open windows. Rather than just complaining about it, I went to the KDE Web site and entered bug 9007 as a feature request. Maybe this functionality will show up in a future version. Either way it's good practice to try to provide feedback to the open source development community.

Editing Photos

If you're a photography novice as I am, there's nothing you would like better than a second chance. However, that's not all that likely when you have that once-in-a-lifetime shot ruined by a thumb or maybe the wrong exposure. Not to worry. digiKam offers the ability to improve upon our mistakes. The first set of features doesn't alter the content of the picture so much as it removes or reorients the image. The cropping, rotating, and resizing of pictures are all pretty straightforward. You can double-click on a picture from the album view, which spawns the image in a screen where you can directly edit it; a right-click gives you a menu with numerous options. To trim a picture just drag a selection box (clicking and holding the left-mouse button) and then right-click to choose crop and the back of someone's head is instantly removed from a shot.

In addition to the ability to manipulate the size and shape of the picture, digiKam can also alter the content, including adjusting the brightness and contrast or correcting the gamma. (Gamma correction is important for viewing pictures on a computer screen, so if you want to share your images through a Web site, this may be of greater importance than if you just want to print them out.)

Plug-ins

Also available for the digiKam package are a number of plug-ins that extend the functionality of the program. At the time of my research there were nine documented plug-ins that would try to help improve your picture for printing (e.g., adjust levels, noise reduction), as well as special effects plug-ins like an oil painting plug-in and a raindrops special effect. I would guess that more plug-ins are in the works.

Advanced Photo Editing with the GIMP

(www.GIMP.org)
Something would be amiss if I mentioned photo editing and didn't mention one of the most popular and powerful image editing tools available for Linux and other platforms as well. This package is known as the GIMP (GNU Image Manipulation Program). The GIMP is a powerful multiplatform photo manipulation tool. If you are familiar with the popular Adobe Photoshop program (www.adobe.com/products/photoshop/main.html), you'll probably find the GIMP somewhat familiar.

You can use GIMP to create vignettes, add text, or alter the pictures in a variety of ways (see Figure 4). You can even create alterations using the extensive filters to distort or add special effects to an image. Plus, the GIMP does have the ability to acquire images right from your camera. I can't begin to do justice to all the features in this powerful image-manipulation package but, whether you are a Linux user or a user of another operating system, the GIMP is well worth checking out.

Summary

Hopefully you now have all the information you need to manipulate and view digital pictures on your Linux desktop. Also, it's interesting to note that all the software highlighted in this article falls under a free license so the acquisition cost of this software is pretty much limited to your time and your bandwidth. Also, if you are so inclined, you can even improve upon the work by authoring an improvement or helping with the product to meet your needs and probably that of someone else.

SIDEBAR

USB Media Readers and Linux

When it comes to extracting pictures from your digital camera, you can either read from the camera or read the media. If you lose your camera cable (as I have done many times), it may be easier just to read the media from your camera directly whether it be flash RAM, SmartCard, or some other format. I have both a PCMCIA flash card reader that, as far as Linux is concerned, looks like a hard drive and a USB flash card reader. Since the latter is most likely the situation you'll be in, I'll share the following steps to mount your card and copy your files from the portable medium to your PC.

Step 1: Locate Your USB Drive

As you may already know, Linux devices are listed in the /dev directory. This is also the place to find your USB devices. My guess is that once you have plugged in your USB reader with the storage card, your card will be /dev/sda1. There are a number of ways to try to discern what device name is assigned to your hardware, but my experience has shown the fastest way is to just try to mount the device, and if you get errors try the next one. For example, try to mount /dev/sda1. If that doesn't work, try sda2, sda3, etc. Then you can try the same procedure with /dev/sdb1...you get the picture. However, if you want to try to be more scientific, try to identify the USB controller that's mapped to an SCSI device on your system using sg_map. As the root user you can run sg_map -i to find out which is your compact flash drive. Here's an example of my results from my laptop with a USB flash reader:

mrhinkle@linux:~> su
Password:
linux:/home/mrhinkle # sg_map -i
/dev/sg0 /dev/sda Generic STORAGE DEVICE 1.01
linux:/home/mrhinkle #

Note that my storage device is at /dev/sda# where in this case the number is 1.

Step 2: Mount the Device

Mounting a file system simply means attaching a hardware device to the Linux file system somewhere in the hierarchy. In my case I have a /mnt directory, so to mount my flash drive I do the following:

linux:/mnt # mkdir flash
linux:/mnt # mount -t vfat /dev/sda1 /mnt/flash
linux:/mnt # cd /mnt/flash
linux:/mnt/flash # ls
. .. bootex.log dcim found.000 found.001 misc system .Trash-mrhinkle

The first step was to make a directory or mount point (mkdir /mnt/flash) at the point where I wanted to access the card. The second part is to execute the mount command, which requires you to be root or superuser. The anatomy of the command is as follows:

  • mount: The command to attach a file system
  • -t: The flag for type
  • vfat: The argument indicating the file system type (which is a DOS format)
  • /dev/sda1: The device hosting the file system I want to access
  • /mnt/flash: The directory where I want to mount the file system
This may be overly simplified for those experienced users, but it was complicated for me the first time so I thought I would spell it out in greater detail.

Step 3: Copying Files

Once you have your digital medium mounted at the directory point, you can copy the files by navigating back and forth through your favorite graphical file manager (Konqueror for KDE users, Nautilus for Gnome users), or simply dragging and dropping files from one window to another.

More Stories By Mark R. Hinkle

Mark Hinkle is the Vice President of Community at Cloud.com. the maker of the open source cloud computing management software, CloudStack He also is along-time open source expert and advocate. He is a co-founder of both the Open Source Management Consortium and the Desktop Linux Consortium. He has served as Editor-in-Chief for both LinuxWorld Magazine and Enterprise Open Source Magazine. Hinkle is also the author of the book, "Windows to Linux Business Desktop Migration" (Thomson, 2006). His blog on open source, technology, and new media can be found at http://www.socializedsoftware.com.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


@ThingsExpo Stories
Software AG helps organizations transform into Digital Enterprises, so they can differentiate from competitors and better engage customers, partners and employees. Using the Software AG Suite, companies can close the gap between business and IT to create digital systems of differentiation that drive front-line agility. We offer four on-ramps to the Digital Enterprise: alignment through collaborative process analysis; transformation through portfolio management; agility through process automation and integration; and visibility through intelligent business operations and big data.
There will be 50 billion Internet connected devices by 2020. Today, every manufacturer has a propriety protocol and an app. How do we securely integrate these "things" into our lives and businesses in a way that we can easily control and manage? Even better, how do we integrate these "things" so that they control and manage each other so our lives become more convenient or our businesses become more profitable and/or safe? We have heard that the best interface is no interface. In his session at Internet of @ThingsExpo, Chris Matthieu, Co-Founder & CTO at Octoblu, Inc., will discuss how these devices generate enough data to learn our behaviors and simplify/improve our lives. What if we could connect everything to everything? I'm not only talking about connecting things to things but also systems, cloud services, and people. Add in a little machine learning and artificial intelligence and now we have something interesting...
Last week, while in San Francisco, I used the Uber app and service four times. All four experiences were great, although one of the drivers stopped for 30 seconds and then left as I was walking up to the car. He must have realized I was a blogger. None the less, the next car was just a minute away and I suffered no pain. In this article, my colleague, Ved Sen, Global Head, Advisory Services Social, Mobile and Sensors at Cognizant shares his experiences and insights.
We are reaching the end of the beginning with WebRTC and real systems using this technology have begun to appear. One challenge that faces every WebRTC deployment (in some form or another) is identity management. For example, if you have an existing service – possibly built on a variety of different PaaS/SaaS offerings – and you want to add real-time communications you are faced with a challenge relating to user management, authentication, authorization, and validation. Service providers will want to use their existing identities, but these will have credentials already that are (hopefully) irreversibly encoded. In his session at Internet of @ThingsExpo, Peter Dunkley, Technical Director at Acision, will look at how this identity problem can be solved and discuss ways to use existing web identities for real-time communication.
Can call centers hang up the phones for good? Intuitive Solutions did. WebRTC enabled this contact center provider to eliminate antiquated telephony and desktop phone infrastructure with a pure web-based solution, allowing them to expand beyond brick-and-mortar confines to a home-based agent model. It also ensured scalability and better service for customers, including MUY! Companies, one of the country's largest franchise restaurant companies with 232 Pizza Hut locations. This is one example of WebRTC adoption today, but the potential is limitless when powered by IoT. Attendees will learn real-world benefits of WebRTC and explore future possibilities, as WebRTC and IoT intersect to improve customer service.
From telemedicine to smart cars, digital homes and industrial monitoring, the explosive growth of IoT has created exciting new business opportunities for real time calls and messaging. In his session at Internet of @ThingsExpo, Ivelin Ivanov, CEO and Co-Founder of Telestax, will share some of the new revenue sources that IoT created for Restcomm – the open source telephony platform from Telestax. Ivelin Ivanov is a technology entrepreneur who founded Mobicents, an Open Source VoIP Platform, to help create, deploy, and manage applications integrating voice, video and data. He is the co-founder of TeleStax, an Open Source Cloud Communications company that helps the shift from legacy IN/SS7 telco networks to IP-based cloud comms. An early investor in multiple start-ups, he still finds time to code for his companies and contribute to open source projects.
The Internet of Things (IoT) promises to create new business models as significant as those that were inspired by the Internet and the smartphone 20 and 10 years ago. What business, social and practical implications will this phenomenon bring? That's the subject of "Monetizing the Internet of Things: Perspectives from the Front Lines," an e-book released today and available free of charge from Aria Systems, the leading innovator in recurring revenue management.
The Internet of Things will put IT to its ultimate test by creating infinite new opportunities to digitize products and services, generate and analyze new data to improve customer satisfaction, and discover new ways to gain a competitive advantage across nearly every industry. In order to help corporate business units to capitalize on the rapidly evolving IoT opportunities, IT must stand up to a new set of challenges.
There’s Big Data, then there’s really Big Data from the Internet of Things. IoT is evolving to include many data possibilities like new types of event, log and network data. The volumes are enormous, generating tens of billions of logs per day, which raise data challenges. Early IoT deployments are relying heavily on both the cloud and managed service providers to navigate these challenges. In her session at 6th Big Data Expo®, Hannah Smalltree, Director at Treasure Data, to discuss how IoT, Big Data and deployments are processing massive data volumes from wearables, utilities and other machines.
All major researchers estimate there will be tens of billions devices – computers, smartphones, tablets, and sensors – connected to the Internet by 2020. This number will continue to grow at a rapid pace for the next several decades. With major technology companies and startups seriously embracing IoT strategies, now is the perfect time to attend @ThingsExpo in Silicon Valley. Learn what is going on, contribute to the discussions, and ensure that your enterprise is as "IoT-Ready" as it can be!
P2P RTC will impact the landscape of communications, shifting from traditional telephony style communications models to OTT (Over-The-Top) cloud assisted & PaaS (Platform as a Service) communication services. The P2P shift will impact many areas of our lives, from mobile communication, human interactive web services, RTC and telephony infrastructure, user federation, security and privacy implications, business costs, and scalability. In his session at Internet of @ThingsExpo, Erik Lagerway, Co-founder of Hookflash, will walk through the shifting landscape of traditional telephone and voice services to the modern P2P RTC era of OTT cloud assisted services.
While great strides have been made relative to the video aspects of remote collaboration, audio technology has basically stagnated. Typically all audio is mixed to a single monaural stream and emanates from a single point, such as a speakerphone or a speaker associated with a video monitor. This leads to confusion and lack of understanding among participants especially regarding who is actually speaking. Spatial teleconferencing introduces the concept of acoustic spatial separation between conference participants in three dimensional space. This has been shown to significantly improve comprehension and conference efficiency.
The Internet of Things is tied together with a thin strand that is known as time. Coincidentally, at the core of nearly all data analytics is a timestamp. When working with time series data there are a few core principles that everyone should consider, especially across datasets where time is the common boundary. In his session at Internet of @ThingsExpo, Jim Scott, Director of Enterprise Strategy & Architecture at MapR Technologies, will discuss single-value, geo-spatial, and log time series data. By focusing on enterprise applications and the data center, he will use OpenTSDB as an example to explain some of these concepts including when to use different storage models.
SYS-CON Events announced today that Gridstore™, the leader in software-defined storage (SDS) purpose-built for Windows Servers and Hyper-V, will exhibit at SYS-CON's 15th International Cloud Expo®, which will take place on November 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA. Gridstore™ is the leader in software-defined storage purpose built for virtualization that is designed to accelerate applications in virtualized environments. Using its patented Server-Side Virtual Controller™ Technology (SVCT) to eliminate the I/O blender effect and accelerate applications Gridstore delivers vmOptimized™ Storage that self-optimizes to each application or VM across both virtual and physical environments. Leveraging a grid architecture, Gridstore delivers the first end-to-end storage QoS to ensure the most important App or VM performance is never compromised. The storage grid, that uses Gridstore’s performance optimized nodes or capacity optimized nodes, starts with as few a...
The Transparent Cloud-computing Consortium (abbreviation: T-Cloud Consortium) will conduct research activities into changes in the computing model as a result of collaboration between "device" and "cloud" and the creation of new value and markets through organic data processing High speed and high quality networks, and dramatic improvements in computer processing capabilities, have greatly changed the nature of applications and made the storing and processing of data on the network commonplace. These technological reforms have not only changed computers and smartphones, but are also changing the data processing model for all information devices. In particular, in the area known as M2M (Machine-To-Machine), there are great expectations that information with a new type of value can be produced using a variety of devices and sensors saving/sharing data via the network and through large-scale cloud-type data processing. This consortium believes that attaching a huge number of devic...
Innodisk is a service-driven provider of industrial embedded flash and DRAM storage products and technologies, with a focus on the enterprise, industrial, aerospace, and defense industries. Innodisk is dedicated to serving their customers and business partners. Quality is vitally important when it comes to industrial embedded flash and DRAM storage products. That’s why Innodisk manufactures all of their products in their own purpose-built memory production facility. In fact, they designed and built their production center to maximize manufacturing efficiency and guarantee the highest quality of our products.
All major researchers estimate there will be tens of billions devices - computers, smartphones, tablets, and sensors - connected to the Internet by 2020. This number will continue to grow at a rapid pace for the next several decades. Over the summer Gartner released its much anticipated annual Hype Cycle report and the big news is that Internet of Things has now replaced Big Data as the most hyped technology. Indeed, we're hearing more and more about this fascinating new technological paradigm. Every other IT news item seems to be about IoT and its implications on the future of digital business.
Can call centers hang up the phones for good? Intuitive Solutions did. WebRTC enabled this contact center provider to eliminate antiquated telephony and desktop phone infrastructure with a pure web-based solution, allowing them to expand beyond brick-and-mortar confines to a home-based agent model. Download Slide Deck: ▸ Here
BSQUARE is a global leader of embedded software solutions. We enable smart connected systems at the device level and beyond that millions use every day and provide actionable data solutions for the growing Internet of Things (IoT) market. We empower our world-class customers with our products, services and solutions to achieve innovation and success. For more information, visit www.bsquare.com.
With the iCloud scandal seemingly in its past, Apple announced new iPhones, updates to iPad and MacBook as well as news on OSX Yosemite. Although consumers will have to wait to get their hands on some of that new stuff, what they can get is the latest release of iOS 8 that Apple made available for most in-market iPhones and iPads. Originally announced at WWDC (Apple’s annual developers conference) in June, iOS 8 seems to spearhead Apple’s newfound focus upon greater integration of their products into everyday tasks, cross-platform mobility and self-monitoring. Before you update your device, here is a look at some of the new features and things you may want to consider from a mobile security perspective.