diff options
| author | Mattias Andrée <maandree@kth.se> | 2017-07-26 19:25:28 +0200 |
|---|---|---|
| committer | Mattias Andrée <maandree@kth.se> | 2017-07-26 19:25:28 +0200 |
| commit | 5ba5815d0a7255f311cdc66251774e6e36854e8f (patch) | |
| tree | 7c05d21052cdbf29eab2b246abf7a8d0c128eabf /src/blind-kernel.c | |
| parent | blind{-make,}-kernel: apply identity kernel instead of null kernel to non-selected channels (diff) | |
| download | blind-5ba5815d0a7255f311cdc66251774e6e36854e8f.tar.gz blind-5ba5815d0a7255f311cdc66251774e6e36854e8f.tar.bz2 blind-5ba5815d0a7255f311cdc66251774e6e36854e8f.tar.xz | |
Add glow effects
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to '')
| -rw-r--r-- | src/blind-kernel.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/blind-kernel.c b/src/blind-kernel.c index 8d0382e..352cede 100644 --- a/src/blind-kernel.c +++ b/src/blind-kernel.c @@ -223,13 +223,16 @@ kernel_gaussian(int argc, char *argv[], size_t *rows, size_t *cols, double **fre { size_t spread = 0, y, x; ssize_t xx, yy; - int unsharpen = 0; + int unsharpen = 0, glow = 0; double sigma, value, c, k; char *arg; #define argv0 arg argc++, argv--; ARGBEGIN { + case 'g': + glow = 1; + break; case 's': if (!(arg = ARGF())) goto usage; @@ -243,7 +246,7 @@ kernel_gaussian(int argc, char *argv[], size_t *rows, size_t *cols, double **fre } ARGEND; #undef argv0 - if (argc != 1) + if (argc != 1 || (unsharpen && glow)) goto usage; sigma = etolf_arg("standard-deviation", argv[0]); @@ -270,11 +273,13 @@ kernel_gaussian(int argc, char *argv[], size_t *rows, size_t *cols, double **fre if (unsharpen) (*free_this)[spread * *cols + spread] -= 2.0; + if (glow) + (*free_this)[spread * *cols + spread] += 1; return *free_this; usage: - eprintf(SUBUSAGE("'gaussian' [-s spread] [-u] standard-deviation")); + eprintf(SUBUSAGE("'gaussian' [-s spread] [-g | -u] standard-deviation")); return NULL; } |
