|
|
|
@ -12,6 +12,7 @@
@@ -12,6 +12,7 @@
|
|
|
|
|
#include "../floatimg.h" |
|
|
|
|
|
|
|
|
|
#include "fonctions.h" |
|
|
|
|
#include "metriques.h" |
|
|
|
|
#include "sfx.h" |
|
|
|
|
|
|
|
|
|
/* -------------------------------------------------------------- */ |
|
|
|
@ -20,12 +21,50 @@
@@ -20,12 +21,50 @@
|
|
|
|
|
extern int verbosity; |
|
|
|
|
|
|
|
|
|
/* -------------------------------------------------------------- */ |
|
|
|
|
/* nouveau du 27 decembre 2020, un soir de grand froid... */ |
|
|
|
|
/* nouveau du premier dimanche de 2020 'nextgen' */ |
|
|
|
|
static int pixel_trinitron(FloatImg *pimg, int pos[4], float *fvals) |
|
|
|
|
{ |
|
|
|
|
int x, y, off; |
|
|
|
|
|
|
|
|
|
for (y=pos[1]; y<pos[1]+pos[3]; y++) { |
|
|
|
|
for (x=pos[0]; x<pos[0]+pos[2]; x++) { |
|
|
|
|
off = (y*pimg->width) + x; |
|
|
|
|
pimg->R[off] = fvals[0]; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
int trinitron(FloatImg *pimg, int notused) |
|
|
|
|
{ |
|
|
|
|
int x, y, coo[4], foo; |
|
|
|
|
float vals[3]; |
|
|
|
|
|
|
|
|
|
#if DEBUG_LEVEL |
|
|
|
|
fprintf(stderr, ">>> %s ( %p %d )\n", __func__, pimg, notused); |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#define STP 16 /* stepd for x & y axex */ |
|
|
|
|
coo[2] = coo[3] = STP; |
|
|
|
|
|
|
|
|
|
for (y=0; y<pimg->height; y+=STP) { |
|
|
|
|
coo[1] = y; |
|
|
|
|
for (x=0; x<pimg->width; x+=STP) { |
|
|
|
|
coo[0] = x; |
|
|
|
|
foo = stat_zone(pimg, coo, vals); |
|
|
|
|
if (foo) abort(); |
|
|
|
|
/* next step : plot the datas */ |
|
|
|
|
pixel_trinitron(pimg, coo, vals); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
#undef STP |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
/* -------------------------------------------------------------- */ |
|
|
|
|
/* nouveau du 27 decembre 2020, un soir de grand froid... */ |
|
|
|
|
int octotree_classif(FloatImg *pimg, float kdist, int notused) |
|
|
|
|
{ |
|
|
|
|
int foo; |
|
|
|
|
float mm[6], means[4], delta[3]; |
|
|
|
|
float mm[6], delta[3]; |
|
|
|
|
float r, g, b, kr, kg, kb, dp, trig; |
|
|
|
|
int idx, sz, n8, count; |
|
|
|
|
typedef struct { |
|
|
|
@ -38,16 +77,6 @@ fprintf(stderr, ">>> %s ( %p %f %d )\n", __func__,
@@ -38,16 +77,6 @@ fprintf(stderr, ">>> %s ( %p %f %d )\n", __func__,
|
|
|
|
|
pimg, kdist, notused); |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#if 0 |
|
|
|
|
foo = fimg_meanvalues(pimg, means); |
|
|
|
|
if (foo) { |
|
|
|
|
fprintf(stderr, "oups %d in meanvalues\n", foo); |
|
|
|
|
return foo; |
|
|
|
|
} |
|
|
|
|
fprintf(stderr, "means: %11f %11f %11f\n", |
|
|
|
|
means[0], means[1], means[2]); |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
foo = fimg_get_minmax_rgb(pimg, mm); |
|
|
|
|
if (foo) { |
|
|
|
|
fprintf(stderr, "oups %d in get minmax\n", foo); |
|
|
|
|