# Awesome-OpenSourcePhotography
[![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)

A list of awesome free open source software & libraries for photography. Also tools for video. For more awesomeness, check out [awesome](https://github.com/sindresorhus/awesome).


- [General](#general)
- [Camera Firmware Mods](#camera-firmware-mods)
- [Libraries](#libraries)
	- [Canon](#canon)
	- [GoPro](#gopro)
	- [Sony](#sony)
- [Utilities](#utilities)
- [Analogue Photography](#analogue-photography)
- [RAW image developers](#raw-image-developers)
- [HDR Specific Software](#hdr-specific-software)
- [Panorama Stitching](#panorama-stitching)
- [Photo Organizers](#photo-organizers)
- [EXIF Editors](#exif-editors)
- [Photo Downloaders](#photo-downloaders)
- [Camera Tetherers](#camera-tetherers)
- [Monitor Color Correction](#monitor-color-correction)
- [360° Images](#360-images)
- [Alternative Image Viewers](#alternative-image-viewers)
- [Useful GIMP Mods or Scripts](#useful-gimp-mods-or-scripts)
- [Communities](#communities)
- [Resources](#resources)
- [Video](#video)
	- [General tools](#general-tools)
	- [Compositing software](#compositing-software)
	- [Video Libraries](#video-libraries)
- [Scripts](#scripts)
	- [Video to Panorama](#video-to-panorama)

## General

- [GIMP](http://www.gimp.org/) - A swiss knife for image manipulation.
- [PhotoFlow](https://github.com/aferrero2707/PhotoFlow) - A non-destructive photo retouching program including RAW image development.
- [ImageMagick](http://www.imagemagick.org/) - A suite of command-line utilities for modifying and working with images.
- [GraphicsMagick](http://www.graphicsmagick.org/) - GraphicsMagick is usually faster than ImageMagick.

## Camera Firmware Mods 

- [CHDK](http://chdk.wikia.com/wiki/CHDK) - Canon Hack Development Kit, for Canon cameras. 
- [Magic Lantern](http://magiclantern.fm/) - A software enhancement that offers increased functionality to Canon DSLR cameras.
- [Autoexec Hack](https://github.com/KonradIT/autoexechack) - Compilation of hacks for GoPro Cameras.
- [PTool Firmware Manipulation Tool](http://www.gh1-hack.info/) - Change the video recording parameters of Panasonic's cameras.
- [Nikon Hacker](https://nikonhacker.com/wiki/Main_Page) - Nikon Patch and Nikon Emulator, 2 softwares for Nikon cameras.
- [Xiaomi Yi Autoexec](https://github.com/PJanisio/Xiaomi_Yi_autoexec) - Compilation of autoexec scripts and mods for Xiaomi Yi camera.

## Libraries

- [LibGphoto2](https://github.com/gphoto/libgphoto2) - C APi for Digital camera access and remote control. Java,python,C#, and much more bindings.

### Canon

- [OfxCanon](https://github.com/roxlu/ofxCanon) - OpenFrameworks addon for the Canon EDSK.
- [Edsdk4j](https://github.com/kritzikratzi/edsdk4j) - Canon SDK for Java.

### GoPro
- [GoPro](https://github.com/kschzt/gopro) - API for controlling GoPro Hero 3 Camera from Node.js.
- [GoPro](https://github.com/DenisCarriere/gopro) - GoPro Hero 4 - Python API.
- [GoPro](https://github.com/joshvillbrandt/goprohero) - A Python library and a CLI that can interface with GoPro HERO3, HERO3+, and HERO4 cameras over http.
- [GoPro.Hero](https://github.com/r1pper/GoPro.Hero) - A lightweight c# library to access and control GoPro HERO.

### Sony

- [SonyPy](https://github.com/storborg/sonypy) - Python module for Sony Camera Remote API.

## Utilities

- [Timelapse-sony](https://github.com/ThibaudM/timelapse-sony) - Android app for creating timelapse via "Ctrl with Smartphone" mode or connected by NFC.
- [Remoteyourcam-usb](https://github.com/crazymaik/remoteyourcam-usb) - Control your Canon or Nikon DSLR camera from your Android device through USB.
- [digiCamControl](https://github.com/dukus/digiCamControl) - DSLR camera remote control open source software.

## Analogue photography

- [Digitaltruth](https://www.digitaltruth.com/devchart.php) - Film development chart.

## RAW image developers

- [Darktable](http://www.darktable.org/) - An open source photography workflow application and RAW developer.
- [RawTherapee](http://rawtherapee.com/) - A cross-platform raw image processing program.
- [Photivo](http://photivo.org/photivo/start?redirect=1) - A multi platform photo processor for RAW and bitmap images with 16 bit precision.
- [Raw Studio](https://github.com/rawstudio/rawstudio) - Read and manipulate RAW images from digital cameras.
- [UFRaw](http://ufraw.sourceforge.net/) - A utility to read and manipulate raw images from digital cameras.
- [DCRaw](http://www.cybercom.net/~dcoffin/dcraw/) - Decoding raw digital photos in Linux.
- [Lightzone](http://lightzoneproject.org/) - Open-source digital darkroom software for Windows/Mac/Linux.
- [Fotoxx](http://www.kornelix.com/fotoxx.html) - A Linux program for editing photos and other images.

## HDR Specific Software
- [Luminance](https://github.com/LuminanceHDR/LuminanceHDR) - A complete workflow for HDR imaging.
- [QPSFTMO](http://theplaceofdeadroads.blogspot.com/2006/07/qpfstmo-hdr-tone-mapping-gui-for-linux_04.html) - HDR Tone Mapping GUI for Linux.
- [PFS Tools](http://pfstools.sourceforge.net/) - A set of command line programs for reading, writing and manipulating HDR images and video frames.

## Panorama Stitching

- [Hugin](http://hugin.sourceforge.net/) - An easy to use cross-platform panoramic imaging toolchain.
- [Panorama Tools](http://www.panoramatools.com/) - A framework for re-projecting and blending multiple source images into immersive panoramics of many types.

## Photo Organizers

- [Shotwell](http://yorba.org/shotwell/) - A photo manager for GNOME 3.
- [DigiKam/ShowFoto](http://www.digikam.org/drupal/about?q=about/overview) - Open Source Photo manager for KDE/Gnome desktop.
- [GPhoto](http://www.gphoto.org/) - A program and library framework that lets users download pictures from their digital cameras.
- [Lychee](http://lychee.electerious.com/) - A great looking and easy-to-use photo-management-system you can run on your server, to manage and share photos.
- [Simple Gallery](https://github.com/SimpleMobileTools/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](https://github.com/HoraApps/LeafPic/) - Material-designed android gallery alternative.
- [A Photo Manager](https://github.com/k3b/APhotoManager/) - Manage local photos on Android: gallery, geotag with photomap, tags, find, sort, view, copy, delete, send,...
- [PhotoPrism](https://photoprism.org/) - PhotoPrism™ is a server-based application for browsing, organizing and sharing your personal photo collection.

## EXIF Editors
- [ExifTool](http://owl.phy.queensu.ca/~phil/exiftool/) - A program for reading, writing, and manipulating image, audio, and video metadata.
- [Exiv2](https://github.com/Exiv2/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

- [Rapid Photo Downloader](http://www.damonlynch.net/rapid/index.html) - A photo and video downloader for the Linux Desktop.

## Camera Tetherers

- [Entangle](http://entangle-photo.org/) - Entangle provides a GUI for taking photographs with a digital camera completely controlled from the computer.

## Monitor Color Correction

- [Hughski](http://www.hughski.com/index.html)
- [DisplayCal](http://displaycal.net/) - Open source display calibration and characterization.

## 360° Images

- [Open360viewer](https://github.com/TheGreyDiamond/open360viewer) - Open source 360° media viewer.


## Alternative Image Viewers

- [Geeqie](http://geeqie.sourceforge.net/) - An image viewer and image organiser program for Unix-like operating systems.
- [FEH](http://feh.finalrewind.org/) - An X11 image viewer.

## Useful GIMP Mods or Scripts

- [GIMP Plugin Registry](http://registry.gimp.org/)
- [Cinepaint](http://sourceforge.net/projects/cinepaint/files/CinePaint/) - A program for painting and retouching bitmap frames of films based on GIMP.

## Communities
- [Flickr Open Source Photography Group](https://www.flickr.com/groups/83823859@N00/)
- [/r/FOSSPhotography](http://reddit.com/r/fossphotography) - Community about Free open source software for Photography on reddit.
- [Open Source Photography Community on Google+](https://plus.google.com/u/0/communities/110647644928874455108)
- [Open Source Photography Group on Facebook](https://www.facebook.com/groups/326042310770868/)
- [Open Source Photography Sub on Reddit](https://www.reddit.com/r/opensourcephotography)
- [Open Source Photography Group on 500px](https://500px.com/groups/open-source-photography)
- [PIXLS.US](https://pixls.us) - Community dedicated to tutorials, workflows, and showcases of high-quality photography using Free Software tools

## Resources
- [Unsplash.com](https://unsplash.com/) - Free (do whatever you want) high-resolution photos, [licensed](https://medium.com/unsplash/the-unsplash-license-f6fb7de5c95a) under the Unsplash License ([changed from CC0](https://medium.com/unsplash/why-we-moved-from-the-creative-commons-zero-license-to-the-unsplash-license-598f76386489))
- [Pexels.com](https://pexels.com/) - Royalty free high-resolution stock photos, [licensed](https://www.pexels.com/photo-license/) under Creative Commons Zero (CC0)
- [Pixabay.com](https://pixabay.com/) - Royalty free stock photos and videos, [licensed](https://pixabay.com/en/service/faq/) under Creative Commons Zero (CC0).
- [Shutterography.com](https://www.shutterography.com) - Free Photos.

## Video 

### General tools

- [FFmpeg](https://www.ffmpeg.org/) - A complete, cross-platform solution to 
record, convert and stream audio and video.
- [Virtualdub](http://www.virtualdub.org/) - A free video tool for basic editing and encoding.

### Compositing software

- [Natron](https://github.com/MrKepzie/Natron) - A node-based compositor based on the same principles as state-of-the art tools used in film and television post-production.
- [ButtleOFX](https://github.com/buttleofx/ButtleOFX) - A simple, user-friendly and open source compositing software. 
- [Blender](https://www.blender.org/) - This open source 3D graphics has tools for video editing.
- [Shotcut](https://github.com/mltframework/shotcut) - A free, open source, cross-platform video editor.

### Video Libraries

- [OpenFX](http://openfx.sourceforge.net/) - An Open Plug-in API for 2D Visual Effects.
- [TuttleOFX](https://github.com/tuttleofx/TuttleOFX) - An image processing framework based on OpenFX plugin format.
- [Vid.stab](https://github.com/georgmartius/vid.stab) - A video stabilization library which can be plugged-in with Ffmpeg and Transcode.
- [Frei0r](https://github.com/dyne/frei0r) - A large collection of free and portable video plugins.

## Scripts

### Video to Panorama 

Using [FFmpeg](https://www.ffmpeg.org/) and [Hugin](http://hugin.sourceforge.net/).

```bash
#!/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](https://i.creativecommons.org/l/by-nc/4.0/88x31.png)


