// Filtros: cambian la imagen que reciben, en el mismo lugar.
#ifndef FILTERS_H
#define FILTERS_H

#include "image.h"

// Cada píxel p pasa a max_value - p.
void invert(struct image *img);

// Cada píxel mayor o igual que level pasa a max_value. Los demás, a 0.
void threshold(struct image *img, int level);

// Espejo izquierda-derecha: cada fila queda al revés.
void flip_horizontal(struct image *img);

// Guarda en *min, *max y *mean el menor píxel, el mayor y el promedio.
void image_stats(const struct image *img, int *min, int *max, double *mean);

#endif
