Skip to content

Open Source Photography

Awesome-OpenSourcePhotography

Awesome

A list of awesome free open source software & libraries for photography. Also tools for video. For more awesomeness, check out awesome.

General

  • GIMP - A swiss knife for image manipulation.
  • PhotoFlow - A non-destructive photo retouching program including RAW image development.
  • ImageMagick - A suite of command-line utilities for modifying and working with images.
  • GraphicsMagick - GraphicsMagick is usually faster than ImageMagick.

Camera Firmware Mods

  • CHDK - Canon Hack Development Kit, for Canon cameras.
  • Magic Lantern - A software enhancement that offers increased functionality to Canon DSLR cameras.
  • Autoexec Hack - Compilation of hacks for GoPro Cameras.
  • PTool Firmware Manipulation Tool - Change the video recording parameters of Panasonic's cameras.
  • Nikon Hacker - Nikon Patch and Nikon Emulator, 2 softwares for Nikon cameras.
  • Xiaomi Yi Autoexec - Compilation of autoexec scripts and mods for Xiaomi Yi camera.

Libraries

  • LibGphoto2 - C APi for Digital camera access and remote control. Java,python,C#, and much more bindings.

Canon

  • OfxCanon - OpenFrameworks addon for the Canon EDSK.
  • Edsdk4j - Canon SDK for Java.

GoPro

  • GoPro - API for controlling GoPro Hero 3 Camera from Node.js.
  • GoPro - GoPro Hero 4 - Python API.
  • GoPro - A Python library and a CLI that can interface with GoPro HERO3, HERO3+, and HERO4 cameras over http.
  • GoPro.Hero - A lightweight c# library to access and control GoPro HERO.

Sony

  • SonyPy - Python module for Sony Camera Remote API.

Utilities

  • Timelapse-sony - Android app for creating timelapse via "Ctrl with Smartphone" mode or connected by NFC.
  • Remoteyourcam-usb - Control your Canon or Nikon DSLR camera from your Android device through USB.
  • digiCamControl - DSLR camera remote control open source software.

Analogue photography

RAW image developers

  • Darktable - An open source photography workflow application and RAW developer.
  • RawTherapee - A cross-platform raw image processing program.
  • Photivo - A multi platform photo processor for RAW and bitmap images with 16 bit precision.
  • Raw Studio - Read and manipulate RAW images from digital cameras.
  • UFRaw - A utility to read and manipulate raw images from digital cameras.
  • DCRaw - Decoding raw digital photos in Linux.
  • Lightzone - Open-source digital darkroom software for Windows/Mac/Linux.
  • Fotoxx - A Linux program for editing photos and other images.

HDR Specific Software

  • Luminance - A complete workflow for HDR imaging.
  • QPSFTMO - HDR Tone Mapping GUI for Linux.
  • PFS Tools - A set of command line programs for reading, writing and manipulating HDR images and video frames.

Panorama Stitching

  • Hugin - An easy to use cross-platform panoramic imaging toolchain.
  • Panorama Tools - A framework for re-projecting and blending multiple source images into immersive panoramics of many types.

Photo Organizers

  • Shotwell - A photo manager for GNOME 3.
  • DigiKam/ShowFoto - Open Source Photo manager for KDE/Gnome desktop.
  • GPhoto - A program and library framework that lets users download pictures from their digital cameras.
  • Lychee - A great looking and easy-to-use photo-management-system you can run on your server, to manage and share photos.
  • Simple Gallery - A Android gallery app for viewing photos and videos similar to android stock gallery with support for file copy/move/rename/delete/share.
  • Leaf Pic - Material-designed android gallery alternative.
  • A Photo Manager - Manage local photos on Android: gallery, geotag with photomap, tags, find, sort, view, copy, delete, send,...
  • PhotoPrism - PhotoPrism™ is a server-based application for browsing, organizing and sharing your personal photo collection.

EXIF Editors

  • ExifTool - A program for reading, writing, and manipulating image, audio, and video metadata.
  • Exiv2 - Exiv2 is a C++ library and a command-line utility to read, write, delete and modify Exif, IPTC, XMP and ICC image metadata.

Photo Downloaders

Camera Tetherers

  • Entangle - Entangle provides a GUI for taking photographs with a digital camera completely controlled from the computer.

Monitor Color Correction

360° Images

Alternative Image Viewers

  • Geeqie - An image viewer and image organiser program for Unix-like operating systems.
  • FEH - An X11 image viewer.

Useful GIMP Mods or Scripts

Communities

Resources

Video

General tools

  • FFmpeg - A complete, cross-platform solution to record, convert and stream audio and video.
  • Virtualdub - A free video tool for basic editing and encoding.

Compositing software

  • Natron - A node-based compositor based on the same principles as state-of-the art tools used in film and television post-production.
  • ButtleOFX - A simple, user-friendly and open source compositing software.
  • Blender - This open source 3D graphics has tools for video editing.
  • Shotcut - A free, open source, cross-platform video editor.

Video Libraries

  • OpenFX - An Open Plug-in API for 2D Visual Effects.
  • TuttleOFX - An image processing framework based on OpenFX plugin format.
  • Vid.stab - A video stabilization library which can be plugged-in with Ffmpeg and Transcode.
  • Frei0r - A large collection of free and portable video plugins.

Scripts

Video to Panorama

Using FFmpeg and Hugin.

#!/bin/bash
mkdir -p /tmp/images
ffmpeg -i video.avi -r 5 -qscale 3  tmp/images/image-%3d.jpg
pto_gen -o tmp/hugin.pto tmp/images/*.jpg
cpfind --multirow -o tmp/hugin.pto tmp/hugin.pto
cpclean -o tmp/hugin.pto tmp/hugin.pto
linefind -o tmp/hugin.pto tmp/hugin.pto
autooptimiser -a -l -s -m -o tmp/hugin.pto tmp/hugin.pto
pano_modify -o tmp/hugin.pto --center --fov=AUTO --canvas=70% tmp/hugin.pto
pto2mk -o tmp/hugin.mk -p tmp/output tmp/hugin.pto
make -f tmp/hugin.mk all

license