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.

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,...

EXIF Editors

  • ExifTool - A program for reading, writing, and manipulating image, audio, and video 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

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