GFXprim
2D bitmap graphics library with emphasis on speed and correctness
Loading...
Searching...
No Matches
gp_laplace.h
1// SPDX-License-Identifier: LGPL-2.1-or-later
2/*
3 * Copyright (C) 2009-2012 Cyril Hrubis <metan@ucw.cz>
4 */
5
6/*
7
8 Laplace filter and Laplace-based filters.
9
10 */
11
12#ifndef FILTERS_GP_LAPLACE_H
13#define FILTERS_GP_LAPLACE_H
14
15#include <filters/gp_filter.h>
16
17/*
18 * Discrete Laplace, second-derivative filter.
19 *
20 * Implemented by separable linear convolution with kernels
21 *
22 * [1 -2 1] and [ 1 ]
23 * [-2 ]
24 * [ 1 ]
25 */
26int gp_filter_laplace(const gp_pixmap *src, gp_pixmap *dst,
27 gp_progress_cb *callback);
28
29gp_pixmap *gp_filter_laplace_alloc(const gp_pixmap *src,
30 gp_progress_cb *callback);
31
32/*
33 * Laplace based filter sharpening.
34 *
35 * This filter substract result of Laplace filter weigted by w from the
36 * original image which amplifies edges.
37 */
38int gp_filter_edge_sharpening(const gp_pixmap *src, gp_pixmap *dst,
39 float w, gp_progress_cb *callback);
40
41gp_pixmap *gp_filter_edge_sharpening_alloc(const gp_pixmap *src, float w,
42 gp_progress_cb *callback);
43
44#endif /* FILTERS_GP_LAPLACE_H */
Common filter includes.
A pixmap buffer.
Definition gp_pixmap.h:33
Progress callback.