Analysis updated 2026-05-18
Apply a specific camera brand's color look to any photo with a single function call.
Convert raw photos into a professional Log color space for cinema-style grading.
Correct lens distortion automatically using EXIF metadata and a bundled lens database.
Simulate how a photo would look if it had been shot on a different camera brand.
| songjiun10-collab/hncs | 1ncendium/aibuster | aaronmayeux/ha-hurricane-tracker | |
|---|---|---|---|
| Stars | 5 | 5 | 5 |
| Language | Python | Python | Python |
| Setup difficulty | easy | moderate | easy |
| Complexity | 3/5 | 3/5 | 2/5 |
| Audience | developer | ops devops | general |
Figures from each repo's GitHub metadata at analysis time.
Some tools, like the EXIF lens lookup, need the exiftool system binary alongside the pip installs.
HNCS is a Python project that studies how different camera and digital back manufacturers process their images into a distinctive look, then recreates that look as code you can apply to any photo. It started as a project focused only on Hasselblad's own color processing system, called HNCS, and has since grown to cover twelve camera brands total, including Fujifilm, Leica, Phase One, Pentax, Ricoh, Canon, Nikon, Sony, Panasonic, Olympus, and Sigma. Each brand's color recipe is built from real measurements rather than guesswork. The project gathered hundreds of official or near official sample photos from each manufacturer, over 800 photos across ten of the brands plus a separate raw and JPEG pair calibration specifically for Hasselblad. It breaks each photo down into five separate signals, covering tone, color, texture, gamut, and how colors are distributed together, then fits each brand's characteristic look from that data. The project also runs an automatic reproducibility check that confirms every published number can be recreated from scratch using the same cached sample images, and a test suite runs automatically through GitHub Actions on every change. Using it is simple: you load a photo with the OpenCV library, pass it to a function like apply_hncs, and get back a modified image in that brand's style, with every brand following the same input and output pattern. Beyond the main per brand color engine, the repository includes a few separate, more specialized tools. One converts raw photos into standard video color spaces used by professional cameras, such as Sony's S-Log3 or Arri's Log formats, so cinema style color grading tools can be applied to still photos. Another corrects lens distortion using a large public database of camera and lens combinations read automatically from a photo's metadata. A third, newer module called hybrid_engine goes a step further, attempting to make a photo shot on one camera brand look as if it had been shot on a different brand entirely, by reading the source camera from the photo's metadata and reversing then reapplying the relevant brand color curves. The project is released under the MIT license, and a Korean language version of the README is also provided.
A Python toolkit that measures real sample photos from 12 camera brands and recreates each brand's color science as reusable code you can apply to any image.
Mainly Python. The stack also includes Python, OpenCV, NumPy.
You can use, copy, and modify the code freely for any purpose as long as you keep the original copyright notice.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.