All Projects → ferdikoomen → capture3

ferdikoomen / capture3

Licence: MIT License
C++ research project to learn more about cameras, image processing, color spaces, OpenCV and multi‑threading.

Programming Languages

C++
36643 projects - #6 most used programming language
SCSS
7915 projects
CMake
9771 projects

Projects that are alternatives of or similar to capture3

zNotes
zNotes is a lightweight cross-platform application for notes management.
Stars: ✭ 17 (+0%)
Mutual labels:  qt5
monolish
monolish: MONOlithic LInear equation Solvers for Highly-parallel architecture
Stars: ✭ 166 (+876.47%)
Mutual labels:  openmp
screenshotgun
Open cross-platform screenshoter with cloud support and server part
Stars: ✭ 23 (+35.29%)
Mutual labels:  qt5
pyqt-resources
Tips and code snippets for PyQt developers
Stars: ✭ 26 (+52.94%)
Mutual labels:  qt5
hero-sdk
⛔ DEPRECATED ⛔ HERO Software Development Kit
Stars: ✭ 21 (+23.53%)
Mutual labels:  openmp
hpdbscan
Highly parallel DBSCAN (HPDBSCAN)
Stars: ✭ 19 (+11.76%)
Mutual labels:  openmp
cere
CERE: Codelet Extractor and REplayer
Stars: ✭ 27 (+58.82%)
Mutual labels:  openmp
pymadcad
Simple yet powerful CAD (Computer Aided Design) library, written with Python.
Stars: ✭ 63 (+270.59%)
Mutual labels:  qt5
QUaServer
Qt C++ wrapper for open62541 server stack
Stars: ✭ 78 (+358.82%)
Mutual labels:  qt5
ng-qt
Build extremely powerful and efficient native cross-platform desktop applications using Angular and NodeGUI
Stars: ✭ 14 (-17.65%)
Mutual labels:  qt5
QuickStreams
An asynchronous programming library for the QML programming language (Proof of Concept)
Stars: ✭ 42 (+147.06%)
Mutual labels:  qt5
ProductManagementTool
Advanced Product tracking automation system using Qt 5 and C++
Stars: ✭ 39 (+129.41%)
Mutual labels:  qt5
dannyAVgleDownloader
知名網站avgle下載器
Stars: ✭ 27 (+58.82%)
Mutual labels:  qt5
TermColor
🎨 Effortlessly generate color-schemes for terminal emulators by a single drop of an image!
Stars: ✭ 40 (+135.29%)
Mutual labels:  qt5
QtExamples
Translations of the official Qt examples into PyQt5 (also PySide2) and more.
Stars: ✭ 39 (+129.41%)
Mutual labels:  qt5
ANMP
multi-channel loopable video game music player for nerds and audiophiles
Stars: ✭ 16 (-5.88%)
Mutual labels:  qt5
Swiftly
Swiftly is an easy to use Qt/C++ web framework
Stars: ✭ 20 (+17.65%)
Mutual labels:  qt5
pyccel
Python extension language using accelerators
Stars: ✭ 189 (+1011.76%)
Mutual labels:  openmp
cmmk ctrl
Qt based RGB control application for MasterKeys devices
Stars: ✭ 24 (+41.18%)
Mutual labels:  qt5
qSIP
VoIP/SIP client (softphone)
Stars: ✭ 20 (+17.65%)
Mutual labels:  qt5

Capture3

Capture3 is a C++ desktop application that can capture and process photos through a tethered connection with a digital camera. It started out as a research project to learn more about digital cameras, image processing, color spaces, C++, OpenCV and multi-threading. The main features are:

  1. Tethered capturing: Automatically capture multiple photos with different exposure values and focus planes, without touching the camera.
  2. Automatic color calibration: This works by detecting a X-Rite ColorChecker Digital SG target in a photo, then automatically detecting each of the 140 colored patches and calculating a white point and color matrix from these values.
  3. Exposure merging: Merge photos with different exposure brackets to create a HDR image.
  4. Focus merging: Merge photos with different focal planes through a technique called focus stacking to create one result image with a higher DOF (Depth Of Field).
  5. Color space visualizer: Preview images in RGB, HSB, XYZ and LAB color spaces, including 3D color space graphs.

Capture3 is developed using JetBrains CLion and can be built on a Mac with macOS Sierra or higher. Although it could support other camera's, it's only tested using a Nikon D3300 and Sigma 35mm f/1.4 DG HSM Art lens.

Learn more

  • Qt5 → Application framework used to create the GUI
  • OpenCV → Image processing library
  • OpenMP → Amazing multi-threading library
  • Imatest → Great resource on color targets and color matrix calculations
  • Bruce Lindbloom → Great resource color space math
  • Oscar de Lama → Great resource on RAW processing

Screenshots

Empty interface

Full interface

Histogram panel

3D color space panel

Waveform panel

Requirements

Libraries

  • autoconf 2.69
  • automake 1.15
  • gcc 4.9.4
  • gcc 6.3.0
  • gettext 0.19.8.1
  • libiconv 1.14
  • libtool 2.4.6
  • mpc 1.0.3
  • readline v6.3
  • sed 4.2.2
  • isl 0.12.2
  • isl 0.16.1
  • eigen 3.3.1
  • tiff 4.0.7
  • boost 1.63.0
  • freeimage 3.17.0
  • freetype 2.7.1
  • gphoto2 2.5.11
  • libgphoto2 2.5.11
  • lcms2 2.8
  • libexif 0.6.21
  • libpng 1.6.27
  • libusb 1.0.21
  • libusb-compat 0.1.5
  • pcre 8.39
  • ffmpeg 3.2.2
  • glfw 3.2.1
  • libffi 3.2.1
  • libgd 2.1.1
  • opencv 3.2.0
  • opencv_contrib 3.2.0
  • gmp 6.1.2
  • popt 1.16
  • cloog 0.18.4
  • cairo 1.14.8
  • pixman 0.34.0
  • fontconfig 2.12.1
  • pkg-config 0.29.1
  • jpeg 9b
  • libraw 0.18.0
  • libraw-demosaic-pack-GPL2 0.18.0
  • libraw-demosaic-pack-GPL3 0.18.0
  • mpfr 3.1.5
  • nasm 2.12.02
  • openssl 1.1.0c

Install

We use Yarn package manager to manage our dependencies.

curl -o- -L https://yarnpkg.com/install.sh | bash
yarn install

Run

./debug.sh

Release

./release.sh
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].