28 #define MAX3(a,b,c) ((a) > (b) ? \ 29 ((a) > (c) ? (a) : (c)) : \ 30 ((b) > (c) ? (b) : (c))) 32 #define MIN3(a,b,c) ((a) < (b) ? \ 33 ((a) < (c) ? (a) : (c)) : \ 34 ((b) < (c) ? (b) : (c))) 49 if ((p == NULL) || (size == 0))
52 if ((q = (uint8_t *) malloc(size)) == NULL) {
61 *s =
MIN3(*r, *r, *(r + 1));
63 for (n = 1; n < size - 2; n++, r++, s++) {
64 *s =
MIN3(*(r - 1), *r, *(r + 1));
66 *s =
MIN3(*(r - 1), *r, *r);
88 if ((p == NULL) || (size == 0))
91 if ((q = (uint8_t *) malloc(size)) == NULL) {
100 *s =
MAX3(*r, *r, *(r + 1));
102 for (n = 1; n < size - 2; n++, r++, s++) {
103 *s =
MAX3(*(r - 1), *r, *(r + 1));
105 *s =
MAX3(*(r - 1), *r, *r);
bool morpho_bin_openning(uint8_t *p, size_t size)
bool morpho_bin_closing(uint8_t *p, size_t size)
bool morpho_bin_dilation(uint8_t *p, size_t size)
#define ZE_LogSysError(...)
bool morpho_bin_erosion(uint8_t *p, size_t size)