Submit a digiKam Tip, Win a ZaReason Teo Pro Netbook

It’s nice to have friends. It’s even better to have friends who support open source and put money where their mouth is. I’m proud to say that I have such a friend. Russell Ossendryver and his WorldLabel company do an amazing job of supporting the open source software movement and individual open source projects. His company’s blog often features articles by prominent tech writers covering Linux and open source software. And now WorldLabel has kindly agreed to sponsor a competition for the best digiKam tip, where the winner will bag a cool Ubuntu-based Teo Pro netbook from ZaReason.

The competition rules are simple: submit a clever digiKam-related tip or nifty trick in the comments area, and you automatically enter the competition. The only condition is that you release your tip or trick under the GNU Free Documentation License. Russell and I will pick the best entry on July 21 12:00 UTC. That’s all there is to it.

A few words about the competition’s sponsor

This competition is possible thanks to generous support from WorldLabel, the best place on the web to buy high-quality labels. WorldLabel carries an impressive range of Avery-compatible labels. Address labels, CD labels, mailing and shipping labels, multipurpose labels — WorldLabel got them all. In short, if you are looking for a good place to buy labels, WorldLabel should be your first stop.

Update: We decided to extend the competition until Monday, August 1 12:00 UTC. This should give you all a little bit more time to submit your amazing tips. 🙂

The winner of the competition is Vincent from France. Congratulations!

Tech writer covering Linux and open source software

Tagged with:
Posted in Scribbles
19 comments on “Submit a digiKam Tip, Win a ZaReason Teo Pro Netbook
  1. baxeico says:

    I don’t know if this is a clever tip, but here is what me and my wife do to select and print our favourite photos with an online service:

    – we have a tag “Prints”;
    – every three months or so we create a new child tag of “Prints” with a date, e.g. “2011-06-21”;
    – we tag with “Prints > 2011-06-21” every photo we want to print from albums of the last three months;
    – once we have a set of photos tagged we can search by the tag “Prints > 2011-06-21”, select all photos, drag them on a new folder in Dolphin and create a soft-link to all JPGs there;
    – we then upload the photos to our photo printing online service from Dolphin using FTP (in the past we used another service with a Java Applet based upload form, but the concept is the same);
    – finally we rename the tag “Prints > 2011-06-21” in “Prints > 2011-06-21 (printed)”, and we keep this tag forever. So we know exactly what photos we printed, and when.

    We hope that this “tip” is useful for someone!

  2. Dani says:

    This is a tip for managing pictures and videos with digikam in a family or with friends in a local network
    – you can put a photo directory on a samba share
    – you can give special rights with acls (must be enabled in fstab and smb.conf)
    – to make it easy for all members of your local network you can automount the share with pam_mount (secure an comfortable -> you don’t have to save the password in a file, pam_mount will use your kdm or gdm login password)

    I hope this was useful for someone 😉

  3. Andras says:

    Here is a tip how to enhance your photos in digikam before sharing them with the rest of the world. The tip consists of several steps, some of them could be skipped. They are not exactly digikam specific, could be done with most photo processing software, but I describe how to do in digikam, so you don’t have to fight with complex photo editing applications.

    Step 0: if your photo is blurry, nothing is in focus, throw it away unless you realy-really want to share it with someone.

    Step 1: enhance the colors
    – select the photo and switch to editor mode (depending on digikam version, the action is eithe Edit or Image Editor, the shortcut is F4)
    – chose Color->Levels Adjust (CTRL-L). Make sure the Luminosity channel is selected.
    Here move the small arrow for the top color bar (Input intensity) in a way that the black arrow end at the leftmost part of the diagram, while the white arrow points to the right-most part of the diagram. This should give you an image with more intense colors, a nicer picture to look at. In extreme cases you can fix photos that are too foggy (like taken with a tele lens on a not so clear day). And here is the digikam tip: you can compare the original with the modified version by just moving the mouse either over the image (to get the original) or to the settings are (to see how it would look like). If the result is too dark or too bright, move the slider to adjust the gamma value (less than 1.00 gives darker results, higher than 1 gives lighter ones).
    – if you are happy with the result, push on OK. If you are lost, use Reset.

    In case you really want to experiment, change the luminosity per channel (Red/Green/Blue). Usually it is not needed though.

    Note: digikam has Auto Levels (Colors-Auto correction), but that might not do everytime what you wish, mostly you can end up with burn-out white areas, so it is better to do the correction manually.

    Step 2: align the horizon
    It is impressive how many pictures are sliding from one side to the other. Especially ugly if the horizon is visible or there is a building in the image. So adjust the horizon to be really horizontal by using Transform-Free Rotation. First change the Main Angle and if needed adjust the Fine angle. Anti aliasing should be checked and Auto-crop to largest area selected.

    Step 3: cut the unneeded parts
    This is debatable, if cutting out some parts is ethical or not, but neverthless you might end up with photos where there are unneeded parts because you didn’t have time to composite the picture 100% correctly at shooting time. For crop I recommend Transform-Aspect Ratio Crop instead of simple select& crop. The reason: it keeps a good aspect ration, you can crop the image either for screens or for printing (remember that different cameras have different aspect ratios that might not be the same as the aspect ratio of the paper, so you end up with missing parts after print if you don’t prepare them before correctly with such an aspect ratio crop).
    In the Aspect Ratio Crop setting usually you can start with selecting the desired ratio (if that is different from the current one), clicking on Max. aspect and than move/resize the selection rectangle to your needs.

    Step 4: sharpen the images
    Good lenses and steady hands give sharp images. But good lenses are expensive, steady hands is also missing a lot of time. In many case you end up with pictures that are good, but could be better. And here better is sharper, as we already fixed the luminosity and the composition. Unsharpen mask to the rescue: Enhance->Sharpen menu. Select Unsharp mask as the sharpen method. Three things you can change here: Radius, Amount, Threshold. The defaults will not give you too much sharpen. From my own experience you should select Radius to be between 9-15 (the higher value sharpens more, but can make the picture look artificial and make it appear white dots inside dark areas), Amount between 1.4-1.8, Threshold can stay at the default value. Use the settings in a conservative way, start with lower values. High sharpening is needed only for very bad pictures that you want to save, as I wrote in the introduction. To test the result, use the Try button. Due to the amount of time needed to perform the operation, the preview doesn’t work with mouse hover only. If you are happy with the result, use OK, if not, change the settings and Try again.

    Step 5: save the result
    Save either as a new image or save directly. Hint: digikam asks you to save if you use the navigation arrows, so you can switch directly to the next image and save it.

    Step 6: share the images
    Back to the digikam browser, select the images you wish to share (hint: when editing, add a Caption/Tag to the modified images, so you know which one was edited and can be shared (on the right side of the editor, select the Caption/Tag button). Use one of the Export->Export To… entries, upload, send a notification to your friends and be happy.

  4. Risto S says:

    Even after all the great filtering and search functions what digiKam (or any photo management application) has the user needs to do all the hard choices. And it is the image rating. What is very important as when you have tens or hundreds of thousands photos, you need to get quickly exactly the best ones from specific date, album or tag and it is done by rating.

    But how to rate photos well with five star system?
    What is good and what is bad photo?
    What photo can be rejected right away after import and what are the pearls what need to be polished and shown to everyone?

    Tip to do rating in this order after Importing photos to digiKam
    1. Start looking photos in bigger preview (fullscreen preferred) and use Space and Shift+Space key combination to go next or previous photo
    2. Use Ctrl+1-5 to add amount of stars (Ctrl+0 removes rating)
    3. Use 3-4 rounds for rating in such manner that:
    a) First round give only one star for every photo what are sharp photos (or if wanted to be artistic) what can be used
    b) Second round give 2-3 ratings for photos what has something value in them what could be brought up in post process
    c) Third round give 4-5 rating for photos what are the best ones of all the multiple ones and could be show to anyone

    After three rounds you have
    – photos what can be deleted (not rated) and from photos left:
    – about 60-70% of photos what has rating 1 or 2
    – about 10-30% of photos what has rating 3-4
    – about 1-5% of photos what has rating 5

    That means if the amount of taken photos in day are 1000-1500, and after removing all bad ones (non-rated) having only 700-1200 photos left. You get:

    ~490-960 at rating 1-2
    ~70-140 at rating 3-4
    ~10-35 at rating 5

    Needed time to go 1000-1500 photos trough 3 times is about 20-30 minutes and doing three rounds, it is easy to change opinion for photo rating as the whole album/collection has been seen few times and compared best ones always adding ratings.

    And then when friend comes by and you want to show trip/holiday/happening photos or you have horry to show best shots for AD (Art Director) or get them printed (Many AD’s wants photos in printed format and you need to go one hour photolab), it is easy as cake because combination tags+rating. Just select tag/place/album and rating of 5. And it is easy to upload only best ones to online services or email.

    And when photos are rated right after import, it means every copy what is made, has the same rating as the original one and if you managed to get photo much better after editing, you can just rate the edited version so the original non-edited will not ruin the collection. And when AD asks do you have more photos of specific one, it is easy to lower rating filter and show only them (4-3) and not all (what are rated 1-2).

    This way:
    – tag-tree does not fill up with hundreds of unnecessary tags but collection is tidy and clear even for exporting files.
    – when wanted to build up a gallery, just select timeline, rating of 5 and few tags of subject and no need to worry.
    – when weather is bad it is nice to sit down front of a computer to edit great photos even better when rating is already done.

    PS. There is unwritten rule of thumb among photographers than no matter what you do, only 5% of photos will be perfect ones, that means if we would use 35mm 36 photo roll, every roll would have only 2 perfect ones)

    PPS. When browsing and rating hundreds of photos every day the shortcuts can be configured for two/left hand operation as Space goes next photo, Alt+Space to previous photo and 1-6 gives rating (6 no rating) or for one/right hand operationg Numpad – shows previous photo, Numpad + next photo and numpad 0-5 rates the photo.

  5. Great initiative from WordLabel and thanks for being such a pleasant community fellow “Digikamers”.

    My tip would be that in the picture download page (from either camera, usb devices, and so on) on the right hand find the “Settings” tab (wrench icon).

    In the settings menu expand the “Auto-creation of albums” page and tick “Date-based sub- albums”. Then Digikam will create a very easy to use and efficient folder structure in your albums.

    Perhaps you have a camera which can both do photos as well as video, then it can be rather handy to also create different sub-folders for different file extensions, effectively separating video from photos. And if that is the case also tick the “Extension-based sub-albums” adding jpg or nef or whatever files your camera saves as into that folder structure.

    / Henrik

  6. icebox1701 says:

    I shoot a lot of pictures. My collection keeps growing (for example ~90 Gb right now) and since last year I discovered the joy of using digikam to tag and organize them. I’m using the beta 2.0.0 version and use mysql to store it’s databases (as opposed to the default sqlite) as it’s easier to interact and backup. What I want is to carry some of those pictures with me, specifically on my phone. I used to simply resize and copy files by hand but that means that I never have the latest pictures on my phone. So I devised a script that automatically resizes and syncs pictures to my phone. This is it:


    # your digikam database, user and password

    SQL=”SELECT Albums.relativePath,\”#\”, FROM \`Albums\`,\`Images\`,\`ImageTags\` WHERE ImageTags.tagid=20 and and”



    while read IMG; do
    ALBUM=`echo $IMG | awk ‘BEGIN { FS = “#” } ; { print $1 }’ | awk ‘{sub(/[ \t]+$/, “”);print}’ | sed -e ‘s/^[ \t]*//’`
    IMAGE=`echo $IMG | awk ‘BEGIN { FS = “#” } ; { print $2 }’ | awk ‘{sub(/[ \t]+$/, “”);print}’ | sed -e ‘s/^[ \t]*//’`
    mkdir -p “$DST$ALBUM”
    if [ ! -f “$DST$ALBUM/$IMAGE” ]; then
    echo “Resizing $IMAGE and copying to $DST$ALBUM”
    convert “$SRC$ALBUM/$IMAGE” -resize “1600×1600” “$DST$ALBUM/$IMAGE”
    done < <(mysql –skip-column-names -u$DBUSR -p$DBPASS $DB -e “$SQL”)
    echo “Syncing to the phone…”
    rsync -rv –delete $DST $MOBILE/

    Simple enough. Let’s go trough it:

    Since I use a Nokia N900 I can have the pictures rsynced via ssh. Of course you can change the script to rsync to a standard folder (if you mount your phone using usb). The trick I use is to have a tag called “mobile” that I use to tag pictures I want synced to my phone. In my setup this tag has the ID 20 and that’s what the script searches for in the database. You can use a tool like phpmyadmin to find this id. Then the script uses Image Magick’s convert to proportionally resize the pictures to have the longside 1600 pixels. Since it checks first if the file already exists it only resizes new tagged files. It also maintains the folder structure of the original images – this way I will find them in the same folders on the phone as on the desktop. Lastly it rsyncs the files (in my case over ssh which is set up to use key based authentication).

    Here’s a nice way to enjoy linux both at home and in your pocket 🙂

  7. nihče says:

    You can even use Digikam as a backend for your Photo sharing website.

    All you have need to do is to set Digikam in MySQL mode. Then you write a simple PHP script to read from Digikam database and show pictures with some HTML, CSS and JS.

    If you use internal MySQL server, here’s how to access it:

  8. I made a Dinamic Digikam Splashscreen ( )
    Well, i hope you can understand my english.

    A script read the last pictures modificated on your digikam collection and generated a new splashscreen for the next boot of digikam

    Download this:
    (This pictures is the decoration over splashscreen)
    to “/home/YOURUSER/.kde4/share/apps/digikam/over.png”

    Make a bash script with this content (customize it)
    and save it at “~/bin/”

    #in older version I set rating > 2 (now get < 5, any photo)
    id=$(sqlite3 -list $baseDatos "SELECT b.album, FROM imageinformation AS a INNER JOIN images AS b ON WHERE a.rating<5 AND LIKE '%.jpg' ORDER BY b.modificationDate DESC LIMIT 1")

    #Get the absolute path at the last modificated photo
    foto=$(sqlite3 -list $baseDatos "SELECT a.relativePath,b.specificPath FROM albums AS a INNER JOIN albumroots AS b ON WHERE${id/|*/} LIMIT 1")

    fotografia=$(echo "$pathDB|$id|$foto" | awk -F "|" '{print $1""$4"/"$3}')

    #create a new splash
    convert "$fotografia" -resize 500x -format PNG png:- | composite -gravity south "$dirDestino/over.png" – "$dirDestino/data/splash-digikam.png"
    exit 0

    Move your /usr/bin/digikam to /usr/bin/digikam-bin

    Create a new /usr/bin/digikam with this content:
    digikam-bin $@
    sh /home/YOURUSER/bin/
    exit 0

    Its all!
    Every time you launch Digikam you can to see your last picture in previous session.


  9. Ever wondered what lens to buy next ? of course you have !
    Why not use the precious information in the Digikam database to figure out what focal lenghts you use most !
    I wrote a little script that will harvest the data from the Digikam DB and produce a PDF report showing the focal length distribution for all the cameras you have taken pictures with.

    The script is here and available under CC-GNU GPL:

    Give it a shot ! it’s very insightful !

    • Dmitri Popov says:

      Hi Vincent,

      This is a very neat script, indeed. Do you think it’s possible to make it work with digiKam data stored in a MySQL database?


      • Hi Dmitri,
        thanks for your feedback !
        It will be very easy to make it work with the mysql backend. Just need to call mysql instead of sqlite and provide the proper parameters.
        It’s a good idea and I’ll try to add it to the script before Friday, check again later.

      • Vincent Tassy says:

        Well I ended up having a lot of work before leaving on vacation on Jul 1st…
        Am now in Malaysia for 3 weeks so I won’t get to work of the script before beginning of August…
        I’let you guys know as soon as I have added support for mysql

    • Dmitri Popov says:

      Fantastic! I look forward to testing the updated version of the script. Let me know when it’s ready. 🙂


      • Hi there !
        Made it back from Malaysia and today I got around to adding MySQL support to my focalLengthAnalyzer script 🙂
        It now finds out from digikamrc whether you’re using SQLite or MySQL and will discover the connection settings so there’s now no parameter to the script.

        I’ve tested it against my 1.9.0 SQLite backend as well as a test 2.0.0 instance with MySQL backend but with only a few photos in it so let me know how it behaves on a real “production” digikam/MySQL.

        (I am myself still having trouble when attempting to migrate my SQLite DB containing almost 38000 items over to MySQL 😦 Hope the dev team will sort it out soon …)

        Also, I plan to add more info the the generated reports like flash usage, Exposure Mode (P/AV/TV/M) , AF Mode (AF/Manual). What do you think ?


    • Dmitri Popov says:

      Thank you so much for updating the script. I had to edit the DIGIKAMRC=`kde-config –localprefix`/share/config/digikamrc line as follows to make the script work on Kubuntu 11.04 with digiKam 2.0.0 rc:


      I have photos taken with Nikon D60, D5000, and D90, and script works like a charm. Good work, Vincent!

      >Also, I plan to add more info the the generated reports like flash usage, Exposure Mode (P/AV/TV/M) , AF Mode (AF/Manual). What do you think ?

      I think it’s a great idea.:-) I have a tiny suggestion, though: is it possible to make the script to generate a multiple PNG files instead of a PDF?


      • Hi Dimitri,

        glad to hear you got the scipt working !

        strange about the DIGIKAMRC line … what does the command “kde-config –localprefix” return ?
        on my Fedora, it returns /home/timetre/.kde/
        Is kde-config in your path ?

        I do have a Ubuntu lying around but it took me all morning to compile digikam 2.0.0 so I’m not looking forward to doing it again just yet 😉

        Regarding the PNGs vs. PDF, that’s no problem ! Actually I generate PNGs to begin with using gnuplot and then I collate them in a PDF using ImageMagick.
        I’ll add a switch so you have the choice of ouput format.

        P.s. you can mail me directly at so we don’t pollute your blog post too much …

  10. Vidal Garcia says:

    As I’ve been scanning my collection of old photos I wanted to give them correct time and date in EXIF data so I could then manage them almost as the fresh digital shooted ones.
    Googling for the solution didn’t help, but after hacking for a while I found how to do it.

    1.- Select all the pictures you want to adjust the EXIF date/time
    2.- Go to: Image > adjust time/date and a window appears, where you can select to tune the data as you like (fourth radio button) and check “EXIF created” and/or “EXIF original”. Also IPCT can be changed.
    3.- Press OK

    Depending of the number of pictures selected it can take a long time even in my six kernel proccessor, so be VERY patient.
    After a while you can open the files with any other viewer, the EXIF data has been changed.

  11. My tip: Create an “uploaded” tag and subtags for places online you upload to. Then if your provider has a problem it’s a lot easier to reupload images.

  12. Thanks Dimitri for putting up this contest and to Wordlabel for sponsoring it !
    It’s been great following everybody’s tips !

Comments are closed.

Recipes for automated and streamlined photographic workflow on Linux

Use digiKam? Get this book!

Practical advice for nighttime photography

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

%d bloggers like this: