Commit Graph

223 Commits

Author SHA1 Message Date
Corentin Noël 02901436d4
Add meson build system (#2637)
Allows to use the Meson build system to build the project.
2022-02-08 15:19:36 +00:00
John Cupitt ffe574399e oop typo 2020-09-21 10:07:25 +01:00
John Cupitt 54144a8bc5 allow gaussblur sigma 0
meaning no blur (obviosuly)
2020-09-21 09:45:08 +01:00
Kleis Auke Wolthuizen 9246094033 Fix function pointer cast issues
It is undefined behavior in C and C++ to cast a function pointer
to another type and call it that way. This does work in most native
platforms, however, despite it being UB, but in WASM it can fail.

See:
https://emscripten.org/docs/porting/guidelines/function_pointer_issues.html
2020-06-30 13:35:41 +02:00
Kleis Auke Wolthuizen f6b9f382ec Avoid using unneeded variables 2020-06-18 14:40:29 +02:00
Kleis Auke Wolthuizen 597def2f77 Remove outdated comment 2020-06-18 14:37:54 +02:00
John Cupitt 051be9203f swp int -> GType in some decls
Some linkers complain about these type mismatches. Thanks kloczek.

See https://github.com/libvips/libvips/issues/1604
2020-04-09 12:20:00 +01:00
John Cupitt 686829166d fix some more metadata updates
some more minor cases picked up by the test suite
2019-11-30 12:11:23 +00:00
John Cupitt 1ee54bfa80 Merge branch '8.8' 2019-09-05 12:45:08 +01:00
John Cupitt a3d2544934 sharpen restores colourspace 2019-08-31 12:30:06 +01:00
John Cupitt 4b5b982711 merge 8.8 2019-08-31 12:29:50 +01:00
John Cupitt 574be4380e revert sharpen restoring the input colourspace
icc_export can make _RGB images, so the input can be outside the set of
supported colourspace transforms.

See 46212e92b1 (r34904985)

bump version too.
2019-08-31 11:29:36 +01:00
John Cupitt 9a5dca1ef8 Merge branch '8.8' 2019-08-28 10:05:12 +01:00
John Cupitt 46212e92b1 fix default sharpen
sharpen with sigma 0.5 was doing nothing, since the new int precision
rules meant that we generated a point-point convolution.

This patch increases the int precision for sharpen, so we now work with
sigma down to 0.5.

Also: restore input colourspace. Previously, the output image was always
LabS (the computation space for sharpen). Now, it transforms back to the
input space. This is more in line with how other operators work.

Thanks 2h4dl for pointing this out.

See https://github.com/libvips/pyvips/issues/123
2019-08-28 09:16:40 +01:00
John Cupitt 834acad825 fix << on signed int warnings
<< on a negative number is undefined behaviour in C, and will trigger
fuzzer warnings.
2019-08-02 05:35:18 +01:00
John Cupitt 4f2112a4e9 fix memleak in canny 2019-03-11 11:35:25 +00:00
Felix Bünemann 2041deb917 Fix convolution vector path posterization
This fixes posterization in the vector path for convolution caused by a
typo in commit eefb2dad98.

The fix was suggested by @jcupitt.
2018-06-13 17:18:55 +02:00
John Cupitt b085908558 remove vips7 stuff from API
You must now include vips7 support explicitly with

	#include <vips/vips7compat.h>

in your code just after including `vips.h`.

The old vips7 names, such as `Rect`, were starting to cause problems
with other packages like opencv.
2018-05-16 15:08:21 +01:00
Janko Marohnić 10c72c58d5
Remove mention of deprecated radius parameter in vips_sharpen() 2018-03-25 20:30:42 +02:00
John Cupitt c5bf128e39 add "precision" control to canny 2018-03-18 11:12:06 +00:00
John Cupitt 6d570ef0ff more canny cleanups 2018-03-17 22:42:40 +00:00
John Cupitt b4181054b2 cleanups ready for merge 2018-03-17 18:13:43 +00:00
John Cupitt 81a7fb92eb oop 2018-03-17 18:12:14 +00:00
John Cupitt ad13dd2041 add a high-precision path for canny 2018-03-17 18:10:50 +00:00
John Cupitt 3fe9b7abc5 split thresh stuff out of canny 2018-03-16 17:26:06 +00:00
John Cupitt 7328f47333 fix atan2 lut in canny 2018-03-16 16:29:52 +00:00
John Cupitt ae82877e66 try a LUT for atan2 2018-03-14 17:19:17 +00:00
John Cupitt 84810a6c5c update notes 2018-03-05 08:21:51 +00:00
John Cupitt 7f5b0b94c3 Merge branch '8.6' into add-canny 2018-03-04 18:45:59 +00:00
John Cupitt eefb2dad98 improve rounding in convi intize
We were rounding up with ceil() when intize-ing convolution masks.
However, the vector path has a true range of (1.0, -1.0], so a mask with
1.0 as the max (for example) was actually triggering the overflow detector
and falling back to the C path.

Round up with ceil(x + 1) instead, so 1.0 (for example) will be mapped
to 0.5 and won't overflow.
2018-03-04 18:30:25 +00:00
John Cupitt bc0b8ba5c1 sobel done 2018-02-28 22:51:31 +00:00
John Cupitt bf70c49fa5 add a fast uchar sobel 2018-02-27 18:19:07 +00:00
John Cupitt 4a59fa652c make vips_sobel()
cut out of vips_canny()
2018-02-26 18:33:20 +00:00
John Cupitt 0365e3403e add double threshold to canny
and some more tuning
2018-02-10 16:07:21 +00:00
John Cupitt 407291c3ff try a simpler edge detect in canny
simple +/- differencing seems to work better
2018-02-08 17:14:26 +00:00
John Cupitt 43cbd32955 try interpolating theta 2018-02-05 09:22:58 +00:00
John Cupitt ce6d37189c non-interpolatory edge thinning works
woo
2018-02-03 17:34:49 +00:00
John Cupitt 6944f78452 add edge thinning to canny 2018-02-03 10:14:09 +00:00
John Cupitt a93e8dd079 start adding canny
just adding edge thinning

see https://en.wikipedia.org/wiki/Canny_edge_detector
2018-02-02 17:00:23 +00:00
John Cupitt 487c112807 add VIPS_COMBINE_MIN combining mode
for vips_compass()
2017-11-02 12:34:01 +00:00
John Cupitt 008fd21728 all done 2017-10-14 17:03:48 +01:00
John Cupitt 36f21138d7 builds half float mask 2017-10-14 13:46:51 +01:00
John Cupitt ec99ff5000 compiles 2017-10-14 12:38:48 +01:00
John Cupitt 0b3d7fc185 start half-float experiment 2017-10-13 18:06:58 +01:00
John Cupitt c76b4893c0 convi was leaking vectors
we forgot to free the compiled code on dispose, oops

thanks MHeimbuc

see https://github.com/jcupitt/libvips/issues/771
2017-10-12 14:41:21 +01:00
John Cupitt de82c9e919 allow much larger reduce factors
sometimes you want to use lanczos etc. for everything
2017-10-09 11:48:11 +01:00
Alistair Thomas d5101319d2 Update GObject introspection annotations for libvips/convolution directory 2017-09-30 20:23:38 +01:00
John Cupitt 63550280a4 Merge branch '8.5' 2017-08-04 18:31:25 +01:00
John Cupitt 3a29cea09f turn off some debug messages 2017-08-04 17:40:02 +01:00
John Cupitt 7d98b39843 small speedup to conv
remove a table for a few % speedup
2017-07-02 19:25:52 +01:00