All Projects → hfiguiere → libopenraw

hfiguiere / libopenraw

Licence: LGPL-3.0, GPL-3.0 licenses found Licenses found LGPL-3.0 COPYING.LESSER GPL-3.0 COPYING
libopenraw: RAW file parsing and processing library (mirror and WiP)

Programming Languages

C++
36643 projects - #6 most used programming language
rust
11053 projects
c
50402 projects - #5 most used programming language
M4
1887 projects
python
139335 projects - #7 most used programming language
Roff
2310 projects

Projects that are alternatives of or similar to libopenraw

Photoflare
Quick, simple but powerful Cross Platform image editor.
Stars: ✭ 260 (+519.05%)
Mutual labels:  photography, photo
Resizer
An image resizing library for Android
Stars: ✭ 406 (+866.67%)
Mutual labels:  photography, photo
QuickRawPicker
📷 QuickRawPicker is a free and open source program that lets you cull, pick or rate raw photos captured by your camera. It is also compatible with the XMP sidecar file used by Adobe Bridge/Lightroom/Darktable or PP3 sidecar file used by Rawtherapee.
Stars: ✭ 26 (-38.1%)
Mutual labels:  photography, raw
Monotone
An Unsplash Application for iOS.
Stars: ✭ 181 (+330.95%)
Mutual labels:  photography, photo
Photostructure For Servers
PhotoStructure for Servers
Stars: ✭ 98 (+133.33%)
Mutual labels:  photography, photo
Photoview
Photo gallery for self-hosted personal servers
Stars: ✭ 553 (+1216.67%)
Mutual labels:  photography, photo
Photo Booth
A multi-platform photo booth software using Electron and your camera
Stars: ✭ 324 (+671.43%)
Mutual labels:  photography, photo
meiupic
简洁好用的多用户图片社区。
Stars: ✭ 165 (+292.86%)
Mutual labels:  photography, photo
Kontax Cam
Instant camera hybrid with multiple effects and filters written in Swift.
Stars: ✭ 69 (+64.29%)
Mutual labels:  photography, photo
Photonix
This is a new web-based photo management application. Run it on your home server and it will let you find the right photo from your collection on any device. Smart filtering is made possible by object recognition, location awareness, color analysis and other ML algorithms.
Stars: ✭ 592 (+1309.52%)
Mutual labels:  photography, photo
Exiftool Vendored.js
Fast, cross-platform Node.js access to ExifTool
Stars: ✭ 200 (+376.19%)
Mutual labels:  photography, photo
dnglab
Camera RAW to DNG file format converter
Stars: ✭ 103 (+145.24%)
Mutual labels:  photography, raw
colorchecker-detection
Multiple ColorChecker Detection. This code implements a multiple colorChecker detection method, as described in the paper Fast and Robust Multiple ColorChecker Detection.
Stars: ✭ 51 (+21.43%)
Mutual labels:  photography
camera.zero
Combining Camera Zero with an Arducam 12MP camera, a Raspberry Pi Zero WH, a PiMoRoNi trackball breakout, and an Adafruit 16-LED NeoPixel ring will result in a neat little screenless camera that can be controlled with your thumb.
Stars: ✭ 26 (-38.1%)
Mutual labels:  photography
dslrbrowser-ios
DSLR Browser iOS app to discover and connect to your Wi-Fi and DLNA enabled (Canon) camera
Stars: ✭ 17 (-59.52%)
Mutual labels:  photo
camera
This program makes the use of a Raspberry Pi HQ camera a little more powerful and user-friendly. It unleashes easy exposure bracketing, timelapse functionality, etc. It also adds on-screen controls for use with touch screens, additional error handling, and presets for some common settings.
Stars: ✭ 32 (-23.81%)
Mutual labels:  photography
GWLPhotoSelector
相册照片多张选择控件
Stars: ✭ 50 (+19.05%)
Mutual labels:  photo
gimp-elsamuko
Some GIMP scripts
Stars: ✭ 34 (-19.05%)
Mutual labels:  photography
photomosaics
Python program that makes a photo mosaic out of a given image
Stars: ✭ 25 (-40.48%)
Mutual labels:  photo
rclip
AI-Powered Command-Line Photo Search Tool
Stars: ✭ 394 (+838.1%)
Mutual labels:  photography
Copyright
=========

libopenraw is Copyright (c) 2005-2020 Hubert Figuiere and
other contributors. See the respective files.
It is licensed under LGPLv3 or later. See files COPYING
and COPYING.LESSER

Code of Conduct:
================

Contributors to this project agree to the Freedesktop.org Code of
Conduct:

  https://www.freedesktop.org/wiki/CodeOfConduct/

Prerequistes to build:
======================

    - a C++ 11 compiler (tested on gcc 4.7 and up)
    - libboost 1.33.1 (Boost.String, Boost.Test, Boost.Variant)
    - libjpeg
    - libxml > 2.5.0 (for the test suite)
    - libcurl (option for the test suite bootstrap)
    - Rust to support CR3.

If building from the git tree you also need:

    - automake/autoconf
    - autoconf-archive
    - pkg-config for the associated m4 macros

Optional Gnome support

    - gdkpixbuf

Supported file format:
======================

Here are the supported file formats. For details per-camera, see
below:

    - Canon CR2
    - Canon CR3
    - Canon CRW (not those coming from CHDK firmware like A610)
    - Nikon NEF and NRW
    - Olympus ORF
    - Pentax PEF
    - Epson ERF
    - DNG
    - GoPro GPR
    - Sony ARW and SR2
    - Minolta MRW
    - Panasonic RAW and RW2
    - Fujifilm RAF

How to build:
=============

  Using automake/autoconf:

    $ ./autogen.sh
    $ ./configure --prefix=...
    $ make
    $ make install DESTDIR=...


Supported formats:
==================

  T  Tested and proven to work. (I have a sample.)
  Y  Yes, it is there. (Untested as I do not have a sample but the format
     is known to be similar.) Yes, it is for the whole format.
  N  Not supported.
  B  Known to be Broken. (Needs to be fixed. I have a sample but further
     work is required.)
  X  Not needed.
  #  Sample file needed.

                          ThNail
                         /  CFA compressed bitstream
                         | /  CFA decompress
                         | | /  Orientation Tag
                         | | | /  Bayer Type
                         | | | | /  Type ID
                         | | | | | /  Active Area (ROI)
                         | | | | | | /  Color Matrices
                         | | | | | | | /  Exif and MakerNotes
                         | | | | | | | | /
                         | | | | | | | | |
Canon CR2                Y Y Y Y Y Y Y Y Y
Canon CR3                Y         Y   Y Y
Canon CRW                Y Y Y Y Y Y N Y N

Canon CRW CHDK           N N N N N N N N N
(unofficial firmware)


Nikon NEF                Y Y Y Y Y Y N Y Y
Nikon NRW                Y         Y N Y Y
Olympus ORF              Y Y B Y Y Y N Y Y
Adobe DNG                Y Y B Y Y Y Y Y Y
GoPro GPR                Y Y N Y Y Y Y Y X
Sony SR2                 Y Y N Y N Y N Y
Sony ARW                 Y Y N Y N Y N Y Y
Pentax PEF               Y Y N Y Y Y N Y Y
Epson ERF                Y Y Y Y Y Y N Y Y
Minolta MRW              Y Y B N Y Y N Y Y
Panasonic RAW            Y Y N Y Y Y Y N Y
Panasonic RW2            Y Y N Y Y Y Y N Y
FujiFilm RAF             Y Y N Y N Y N T Y


Unsupported
-----------
Sony SRF                 N N N N N N N N
Kodak DCR                N N N N N N N N
Kodak KDC                N N N N N N N N
Foveon X3F               N N N N N N N N
Mamiya MEF               N N N N N N N N
Samsung SRW              N N N N N N N N


Test suite
==========

There is a test suite driven by an XML file. It require you to provide
your own RAW files and configure it.  testsuite/testsuite.xml is an
example of valid XML configuration file that works on my local
machine.

TODO2: provide a better description of the test file.

TODO3: fix ordiag to allow outputting a test case in XML.

Running the testsuite
---------------------

$ make check

This will run it automatically.

If you need to bootstrap the testsuite, you can go as follow:

WARNING: The bootstrap will download "random" files from the
internet. They currently aren't validated.

$ make
$ cd testsuite
$ ./testsuite -b -d directory

Here directory is the existing directory where files will be
downloded.  If you build in a different directory than the source
directory, you need to set the `srcdir` environment to the path where
the testsuite binary is build.


References
==========

Many online resources, including open source software were used (list
non exhaustive):

dcraw was the first open source effort out there. We all owe its
authors and contributor a lot.

CR3
---
Mozilla MP4 Rust parser, that is being used:
  https://github.com/mozilla/mp4parse-rust/
Laurent Clevy CR3 documentation, provided lot of information:
  https://github.com/lclevy/canon_cr3

Exif & MakerNote
----------------
ExifTool is used to provide documentation and the tag table:
  https://exiftool.org/
  https://exiftool.org/makernote_types.html
Exiv2 knowledge:
  https://www.exiv2.org/makernote.html
libexif:
  https://libexif.github.io/
exifprobe:
  https://github.com/hfiguiere/exifprobe/
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].