Welcome!

Linux Containers Authors: Liz McMillan, Vaibhaw Pandey, Elizabeth White, Pat Romanski, Yeshim Deniz

Related Topics: Linux Containers

Linux Containers: 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:

[email protected]:~> 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 Senior Director, Open Soure Solutions at Citrix. 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
"Akvelon is a software development company and we also provide consultancy services to folks who are looking to scale or accelerate their engineering roadmaps," explained Jeremiah Mothersell, Marketing Manager at Akvelon, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
In his session at 21st Cloud Expo, Carl J. Levine, Senior Technical Evangelist for NS1, will objectively discuss how DNS is used to solve Digital Transformation challenges in large SaaS applications, CDNs, AdTech platforms, and other demanding use cases. Carl J. Levine is the Senior Technical Evangelist for NS1. A veteran of the Internet Infrastructure space, he has over a decade of experience with startups, networking protocols and Internet infrastructure, combined with the unique ability to it...
"Space Monkey by Vivent Smart Home is a product that is a distributed cloud-based edge storage network. Vivent Smart Home, our parent company, is a smart home provider that places a lot of hard drives across homes in North America," explained JT Olds, Director of Engineering, and Brandon Crowfeather, Product Manager, at Vivint Smart Home, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Gemini is Yahoo’s native and search advertising platform. To ensure the quality of a complex distributed system that spans multiple products and components and across various desktop websites and mobile app and web experiences – both Yahoo owned and operated and third-party syndication (supply), with complex interaction with more than a billion users and numerous advertisers globally (demand) – it becomes imperative to automate a set of end-to-end tests 24x7 to detect bugs and regression. In th...
"IBM is really all in on blockchain. We take a look at sort of the history of blockchain ledger technologies. It started out with bitcoin, Ethereum, and IBM evaluated these particular blockchain technologies and found they were anonymous and permissionless and that many companies were looking for permissioned blockchain," stated René Bostic, Technical VP of the IBM Cloud Unit in North America, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Conventi...
Large industrial manufacturing organizations are adopting the agile principles of cloud software companies. The industrial manufacturing development process has not scaled over time. Now that design CAD teams are geographically distributed, centralizing their work is key. With large multi-gigabyte projects, outdated tools have stifled industrial team agility, time-to-market milestones, and impacted P&L stakeholders.
"Cloud Academy is an enterprise training platform for the cloud, specifically public clouds. We offer guided learning experiences on AWS, Azure, Google Cloud and all the surrounding methodologies and technologies that you need to know and your teams need to know in order to leverage the full benefits of the cloud," explained Alex Brower, VP of Marketing at Cloud Academy, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clar...
Widespread fragmentation is stalling the growth of the IIoT and making it difficult for partners to work together. The number of software platforms, apps, hardware and connectivity standards is creating paralysis among businesses that are afraid of being locked into a solution. EdgeX Foundry is unifying the community around a common IoT edge framework and an ecosystem of interoperable components.
"MobiDev is a software development company and we do complex, custom software development for everybody from entrepreneurs to large enterprises," explained Alan Winters, U.S. Head of Business Development at MobiDev, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Coca-Cola’s Google powered digital signage system lays the groundwork for a more valuable connection between Coke and its customers. Digital signs pair software with high-resolution displays so that a message can be changed instantly based on what the operator wants to communicate or sell. In their Day 3 Keynote at 21st Cloud Expo, Greg Chambers, Global Group Director, Digital Innovation, Coca-Cola, and Vidya Nagarajan, a Senior Product Manager at Google, discussed how from store operations and ...
"There's plenty of bandwidth out there but it's never in the right place. So what Cedexis does is uses data to work out the best pathways to get data from the origin to the person who wants to get it," explained Simon Jones, Evangelist and Head of Marketing at Cedexis, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
SYS-CON Events announced today that CrowdReviews.com has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5–7, 2018, at the Javits Center in New York City, NY. CrowdReviews.com is a transparent online platform for determining which products and services are the best based on the opinion of the crowd. The crowd consists of Internet users that have experienced products and services first-hand and have an interest in letting other potential buye...
SYS-CON Events announced today that Telecom Reseller has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5-7, 2018, at the Javits Center in New York, NY. Telecom Reseller reports on Unified Communications, UCaaS, BPaaS for enterprise and SMBs. They report extensively on both customer premises based solutions such as IP-PBX as well as cloud based and hosted platforms.
It is of utmost importance for the future success of WebRTC to ensure that interoperability is operational between web browsers and any WebRTC-compliant client. To be guaranteed as operational and effective, interoperability must be tested extensively by establishing WebRTC data and media connections between different web browsers running on different devices and operating systems. In his session at WebRTC Summit at @ThingsExpo, Dr. Alex Gouaillard, CEO and Founder of CoSMo Software, presented ...
WebRTC is great technology to build your own communication tools. It will be even more exciting experience it with advanced devices, such as a 360 Camera, 360 microphone, and a depth sensor camera. In his session at @ThingsExpo, Masashi Ganeko, a manager at INFOCOM Corporation, introduced two experimental projects from his team and what they learned from them. "Shotoku Tamago" uses the robot audition software HARK to track speakers in 360 video of a remote party. "Virtual Teleport" uses a multip...
A strange thing is happening along the way to the Internet of Things, namely far too many devices to work with and manage. It has become clear that we'll need much higher efficiency user experiences that can allow us to more easily and scalably work with the thousands of devices that will soon be in each of our lives. Enter the conversational interface revolution, combining bots we can literally talk with, gesture to, and even direct with our thoughts, with embedded artificial intelligence, whic...
SYS-CON Events announced today that Evatronix will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Evatronix SA offers comprehensive solutions in the design and implementation of electronic systems, in CAD / CAM deployment, and also is a designer and manufacturer of advanced 3D scanners for professional applications.
Leading companies, from the Global Fortune 500 to the smallest companies, are adopting hybrid cloud as the path to business advantage. Hybrid cloud depends on cloud services and on-premises infrastructure working in unison. Successful implementations require new levels of data mobility, enabled by an automated and seamless flow across on-premises and cloud resources. In his general session at 21st Cloud Expo, Greg Tevis, an IBM Storage Software Technical Strategist and Customer Solution Architec...
To get the most out of their data, successful companies are not focusing on queries and data lakes, they are actively integrating analytics into their operations with a data-first application development approach. Real-time adjustments to improve revenues, reduce costs, or mitigate risk rely on applications that minimize latency on a variety of data sources. In his session at @BigDataExpo, Jack Norris, Senior Vice President, Data and Applications at MapR Technologies, reviewed best practices to ...
An increasing number of companies are creating products that combine data with analytical capabilities. Running interactive queries on Big Data requires complex architectures to store and query data effectively, typically involving data streams, an choosing efficient file format/database and multiple independent systems that are tied together through custom-engineered pipelines. In his session at @BigDataExpo at @ThingsExpo, Tomer Levi, a senior software engineer at Intel’s Advanced Analytics gr...