Browse Source

work in progress

master
tth 2 years ago
parent
commit
5aa9d5b88b
  1. 4
      floatimg.h
  2. 24
      funcs/equalize.c
  3. 2
      funcs/t.c

4
floatimg.h

@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
* ugly code from tTh
*/
#define FIMG_VERSION 105
#define FIMG_VERSION 106
/*
* in memory descriptor
@ -126,7 +126,7 @@ int fimg_shift_to_zero(FloatImg *s, FloatImg *d, float coefs[6]); @@ -126,7 +126,7 @@ int fimg_shift_to_zero(FloatImg *s, FloatImg *d, float coefs[6]);
/* module funcs/geometry.c */
int fimg_equalize_compute(FloatImg *src, void *vptr);
int fimg_equalize_compute(FloatImg *src, void *vptr, float vmax);
int fimg_mk_gray_from(FloatImg *src, FloatImg*dst, int k);
int fimg_desaturate(FloatImg *src, FloatImg *dst, int k);

24
funcs/equalize.c

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
/*
* FLOATIMG
* egalisation dinamique approximative
* egalisation dynamique approximative
* #coronamaison Thu 09 Apr 2020 03:37:10 PM CEST
*/
@ -12,25 +12,39 @@ @@ -12,25 +12,39 @@
extern int verbosity;
/* --------------------------------------------------------------------- */
int fimg_equalize_compute(FloatImg *src, void *vptr)
int fimg_equalize_compute(FloatImg *src, void *vptr, float vmax)
{
float minmax[6];
int foo;
float dr, dg, db;
#if DEBUG_LEVEL
fprintf(stderr, ">>> %s ( %p )\n", __func__, src);
#endif
memset(minmax, 0, 6*sizeof(float));
foo = fimg_get_minmax_rgb(src, minmax);
printf("Rmin %12.4g Rmax %12.4g\n", minmax[0], minmax[1]);
printf("Gmin %12.4g Gmax %12.4g\n", minmax[2], minmax[3]);
printf("Bmin %12.4g Bmax %12.4g\n", minmax[4], minmax[5]);
if (foo) {
fprintf(stderr, "err %d get minmax in %s\n", foo, __func__);
return foo;
}
dr = minmax[1] - minmax[0];
dg = minmax[3] - minmax[2];
db = minmax[5] - minmax[4];
printf("Rmin %12.4g Rmax %12.4g delta %12.4g\n", minmax[0], minmax[1], dr);
printf("Gmin %12.4g Gmax %12.4g delta %12.4g\n", minmax[2], minmax[3], dg);
printf("Bmin %12.4g Bmax %12.4g delta %12.4g\n", minmax[4], minmax[5], db);
if ( (minmax[0]<0.0) || (minmax[2]<0.0) || (minmax[4]<0.0) ) {
fprintf(stderr, "%s: negative value ?\n", __func__);
return -4;
}
// printf("deltas %12.4g %12.4g %12.4g\n", dr, dg, db);
return 0;
}
/* --------------------------------------------------------------------- */

2
funcs/t.c

@ -55,7 +55,7 @@ else { @@ -55,7 +55,7 @@ else {
abort();
}
foo = fimg_equalize_compute(&src, NULL);
foo = fimg_equalize_compute(&src, NULL, 666.666);
fprintf(stderr, "equalize compute --> %d\n", foo);
fimg_destroy(&src);

Loading…
Cancel
Save