photog 0.1.0
Computational photography in D.
To use this package, run the following command in your project's root directory:
Manual usage
Put the following dependency into your project's dependences section:
photog
Computational photography in D.
Available Functions
- Chromatic adaption (von Kries transform using Bradford method)
- XYZ/RGB conversions (sRGB working space)
Examples
Chromatic Adaptation
import std.file : read, write;
import std.stdio : writeln;
import jpeg_turbod;
import mir.ndslice : reshape, sliced;
import photog.color : chromAdapt, Illuminant, rgb2Xyz;
import photog.utils : imageMean, toFloating, toUnsigned;
void main()
{
// Decompress JPEG image to unsigned array.
const auto jpegFile = "image-in.jpg";
auto jpegInput = cast(ubyte[]) jpegFile.read;
auto dc = new Decompressor();
ubyte[] pixels;
int width, height;
bool decompressed = dc.decompress(jpegInput, pixels, width, height);
if (!decompressed)
{
dc.errorInfo.writeln;
return;
}
// Convert unsigned image array to floating point slice.
auto image = pixels.sliced(height, width, 3).toFloating;
// Use gray world approach to estimate source illuminant.
int err;
double[] srcIlluminant = image.imageMean.reshape([1, 1, 3], err).rgb2Xyz.field;
assert(err == 0);
// Chromatically adapt image to D65 illuminant.
auto caImage = chromAdapt(image, srcIlluminant, Illuminant.d65).toUnsigned;
// Compress image to JPEG file.
auto c = new Compressor();
ubyte[] jpegOutput;
bool compressed = c.compress(caImage.field, jpegOutput, width, height, 90);
if (!compressed)
{
c.errorInfo.writeln;
return;
}
"image-out.jpg".write(jpegOutput);
}
API inspired by DCV (https://github.com/libmir/dcv).
- Registered by Kyle Ingraham
- 0.1.0 released 3 years ago
- kyleingraham/photog-d
- MIT
- Copyright © 2021, Kyle Ingraham
- Authors:
- Dependencies:
- mir-algorithm, lubeck
- Versions:
-
0.1.1-alpha 2021-Apr-05 0.1.0 2021-Apr-01 ~up-chromadapt-perf 2021-Apr-05 ~main 2021-Apr-01 ~chromatic-adaptation 2021-Apr-01 - Download Stats:
-
-
0 downloads today
-
0 downloads this week
-
0 downloads this month
-
10 downloads total
-
- Score:
- 0.3
- Short URL:
- photog.dub.pm