From dce36e0074176e8a93e108ffb482d6685403f68c Mon Sep 17 00:00:00 2001 From: "Bernhard K. Weisshuhn" Date: Thu, 16 Apr 2015 19:04:33 +0200 Subject: [PATCH] Add normalize() for simple histogram stretching Available as normalize() or normalise(). Normalization takes place in LAB place and thus should not change any colors. Existing alpha channels are preserved untouched by normalization. --- README.md | 4 + index.js | 10 +++ package.json | 3 +- src/resize.cc | 87 ++++++++++++++++++- test/fixtures/2x2_fdcce6.png | Bin 0 -> 76 bytes test/fixtures/grey-8bit-alpha.png | Bin 0 -> 23947 bytes test/fixtures/index.js | 3 + test/fixtures/low-contrast.jpg | Bin 0 -> 27279 bytes test/unit/normalize.js | 136 ++++++++++++++++++++++++++++++ 9 files changed, 240 insertions(+), 3 deletions(-) create mode 100644 test/fixtures/2x2_fdcce6.png create mode 100644 test/fixtures/grey-8bit-alpha.png create mode 100644 test/fixtures/low-contrast.jpg create mode 100755 test/unit/normalize.js diff --git a/README.md b/README.md index 6c64cc2c..7cd9f012 100755 --- a/README.md +++ b/README.md @@ -486,6 +486,10 @@ This is a linear operation. If the input image is in a non-linear colour space s The output image will still be web-friendly sRGB and contain three (identical) channels. +#### normalize() / normalise() + +Stretch histogram to cover full dynamic range before output to enhance contrast. + ### Output options #### jpeg() diff --git a/index.js b/index.js index 04470678..c4fc9fdf 100755 --- a/index.js +++ b/index.js @@ -59,6 +59,7 @@ var Sharp = function(input) { sharpenJagged: 2, gamma: 0, greyscale: false, + normalize: 0, // output options output: '__input', progressive: false, @@ -333,6 +334,15 @@ Sharp.prototype.gamma = function(gamma) { return this; }; +/* + Normalize histogram +*/ +Sharp.prototype.normalize = function(normalize) { + this.options.normalize = (typeof normalize === 'boolean') ? normalize : true; + return this; +}; +Sharp.prototype.normalise = Sharp.prototype.normalize; + /* Convert to greyscale */ diff --git a/package.json b/package.json index 5d148d54..3cf06845 100755 --- a/package.json +++ b/package.json @@ -15,7 +15,8 @@ "Maurus Cuelenaere ", "Linus Unnebäck ", "Victor Mateevitsi ", - "Alaric Holloway " + "Alaric Holloway ", + "Bernhard K. Weisshuhn " ], "description": "High performance Node.js module to resize JPEG, PNG, WebP and TIFF images using the libvips library", "scripts": { diff --git a/src/resize.cc b/src/resize.cc index 3a0924d3..afad0564 100755 --- a/src/resize.cc +++ b/src/resize.cc @@ -83,6 +83,7 @@ struct ResizeBaton { double sharpenJagged; double gamma; bool greyscale; + bool normalize; int angle; bool rotateBeforePreExtract; bool flip; @@ -115,6 +116,7 @@ struct ResizeBaton { sharpenJagged(2.0), gamma(0.0), greyscale(false), + normalize(false), angle(0), flip(false), flop(false), @@ -694,6 +696,86 @@ class ResizeWorker : public NanAsyncWorker { image = gammaDecoded; } + // Apply normalization + if (baton->normalize) { + VipsInterpretation typeBeforeNormalize = image->Type; + if (typeBeforeNormalize == VIPS_INTERPRETATION_RGB) { + typeBeforeNormalize = VIPS_INTERPRETATION_sRGB; + } + + // normalize the luminance band in LAB space: + VipsImage *lab; + if (vips_colourspace(image, &lab, VIPS_INTERPRETATION_LAB, NULL)) { + return Error(); + } + vips_object_local(hook, lab); + + VipsImage *luminance; + if (vips_extract_band(lab, &luminance, 0, "n", 1, NULL)) { + return Error(); + } + vips_object_local(hook, luminance); + + VipsImage *chroma; + if (vips_extract_band(lab, &chroma, 1, "n", 2, NULL)) { + return Error(); + } + vips_object_local(hook, chroma); + + VipsImage *stats; + if (vips_stats(luminance, &stats, NULL)) { + return Error(); + } + vips_object_local(hook, stats); + double min = *VIPS_MATRIX(stats, 0, 0); + double max = *VIPS_MATRIX(stats, 1, 0); + + VipsImage *normalized; + if (min == max) { + // Range of zero: create black image + if (vips_black(&normalized, image->Xsize, image->Ysize, "bands", 1, NULL )) { + return Error(); + } + vips_object_local(hook, normalized); + } else { + double f = 100.0 / (max - min); + double a = -(min * f); + + VipsImage *luminance100; + if (vips_linear1(luminance, &luminance100, f, a, NULL)) { + return Error(); + } + vips_object_local(hook, luminance100); + + VipsImage *normalizedLab; + if (vips_bandjoin2(luminance100, chroma, &normalizedLab, NULL)) { + return Error(); + } + vips_object_local(hook, normalizedLab); + if (vips_colourspace(normalizedLab, &normalized, typeBeforeNormalize, NULL)) { + return Error(); + } + vips_object_local(hook, normalized); + } + + if (HasAlpha(image)) { + VipsImage *alpha; + if (vips_extract_band(image, &alpha, image->Bands - 1, "n", 1, NULL)) { + return Error(); + } + vips_object_local(hook, alpha); + + VipsImage *normalizedAlpha; + if (vips_bandjoin2(normalized, alpha, &normalizedAlpha, NULL)) { + return Error(); + } + vips_object_local(hook, normalizedAlpha); + image = normalizedAlpha; + } else { + image = normalized; + } + } + // Convert image to sRGB, if not already if (image->Type != VIPS_INTERPRETATION_sRGB) { // Switch intrepretation to sRGB @@ -762,10 +844,10 @@ class ResizeWorker : public NanAsyncWorker { #if (VIPS_MAJOR_VERSION >= 8 || (VIPS_MAJOR_VERSION >= 7 && VIPS_MINOR_VERSION >= 42)) } else if (baton->output == "__raw") { // Write raw, uncompressed image data to buffer - if (baton->greyscale) { + if (baton->greyscale || image->Type == VIPS_INTERPRETATION_B_W) { // Extract first band for greyscale image VipsImage *grey; - if (vips_extract_band(image, &grey, 1, NULL)) { + if (vips_extract_band(image, &grey, 0, NULL)) { return Error(); } vips_object_local(hook, grey); @@ -1082,6 +1164,7 @@ NAN_METHOD(resize) { baton->sharpenJagged = options->Get(NanNew("sharpenJagged"))->NumberValue(); baton->gamma = options->Get(NanNew("gamma"))->NumberValue(); baton->greyscale = options->Get(NanNew("greyscale"))->BooleanValue(); + baton->normalize = options->Get(NanNew("normalize"))->BooleanValue(); baton->angle = options->Get(NanNew("angle"))->Int32Value(); baton->rotateBeforePreExtract = options->Get(NanNew("rotateBeforePreExtract"))->BooleanValue(); baton->flip = options->Get(NanNew("flip"))->BooleanValue(); diff --git a/test/fixtures/2x2_fdcce6.png b/test/fixtures/2x2_fdcce6.png new file mode 100644 index 0000000000000000000000000000000000000000..fc82a8829c452a6366f33302816aa1283e0e1fe9 GIT binary patch literal 76 zcmeAS@N?(olHy`uVBq!ia0vp^Od!kwBL7~QRScwrJzX3_IAoLmRIBwjHa2p0G%_$q X`!ZQ`<<8v-lxFaB^>bP0l+XkKLIe@0 literal 0 HcmV?d00001 diff --git a/test/fixtures/grey-8bit-alpha.png b/test/fixtures/grey-8bit-alpha.png new file mode 100644 index 0000000000000000000000000000000000000000..9c0620309eae6a1eda5cf1862df3ef61041e2b6e GIT binary patch literal 23947 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