Add new implementation of gaussian blur.

Changed SharpenImage to use the new algorithm.
This commit is contained in:
j433866 2019-03-19 13:54:26 +00:00
parent ce72acdd61
commit 2cd3e9cacd
3 changed files with 260 additions and 4 deletions

View file

@ -9,6 +9,7 @@ import OperationError from "../errors/OperationError";
import { isImage } from "../lib/FileType";
import { toBase64 } from "../lib/Base64";
import jimp from "jimp";
import { gaussianBlur } from "../lib/ImageManipulation";
/**
* Blur Image operation
@ -64,12 +65,14 @@ class BlurImage extends Operation {
try {
switch (blurType){
case "Fast":
if (ENVIRONMENT_IS_WORKER())
self.sendStatusMessage("Fast blurring image...");
image.blur(blurAmount);
break;
case "Gaussian":
if (ENVIRONMENT_IS_WORKER())
self.sendStatusMessage("Gaussian blurring image. This may take a while...");
image.gaussian(blurAmount);
self.sendStatusMessage("Gaussian blurring image...");
image = gaussianBlur(image, blurAmount);
break;
}

View file

@ -8,6 +8,7 @@ import Operation from "../Operation";
import OperationError from "../errors/OperationError";
import { isImage } from "../lib/FileType";
import { toBase64 } from "../lib/Base64";
import { gaussianBlur } from "../lib/ImageManipulation";
import jimp from "jimp";
/**
@ -74,12 +75,12 @@ class SharpenImage extends Operation {
try {
if (ENVIRONMENT_IS_WORKER())
self.sendStatusMessage("Sharpening image... (Cloning image)");
const blurImage = image.clone();
const blurMask = image.clone();
if (ENVIRONMENT_IS_WORKER())
self.sendStatusMessage("Sharpening image... (Blurring cloned image)");
blurImage.gaussian(radius);
const blurImage = gaussianBlur(image.clone(), radius, 3);
if (ENVIRONMENT_IS_WORKER())
self.sendStatusMessage("Sharpening image... (Creating unsharp mask)");