Compare commits
No commits in common. "ae7fdd49bc0aeec39c24c59d14d974bc7130bc33" and "36421bab8f08e2ed46a6c5058833126d65c2dd56" have entirely different histories.
ae7fdd49bc
...
36421bab8f
@ -69,34 +69,15 @@ if (retval) {
|
||||
fprintf(stderr, "%s error %d on filter\n", __func__, retval);
|
||||
exit(1);
|
||||
}
|
||||
fimg_killborders(&img); /* XXX WTF OMG */
|
||||
fimg_copy_data(&img, pimg);
|
||||
fimg_destroy(&img);
|
||||
|
||||
return retval;
|
||||
}
|
||||
/* -------------------------------------------------------------- */
|
||||
static int desaturate(FloatImg *pimg)
|
||||
{
|
||||
FloatImg img;
|
||||
int retval;
|
||||
fimg_clone(pimg, &img, 0);
|
||||
retval = fimg_desaturate(pimg, &img, 0);
|
||||
if (retval) {
|
||||
fprintf(stderr, "%s : err desaturate %d\n",
|
||||
__func__, retval);
|
||||
exit(1);
|
||||
}
|
||||
fimg_copy_data(&img, pimg);
|
||||
fimg_destroy(&img);
|
||||
|
||||
return 0;
|
||||
}
|
||||
/* -------------------------------------------------------------- */
|
||||
/*
|
||||
* This is the main filter engine used both for input and
|
||||
* output processing. It can be called by the filterstack
|
||||
* processor.
|
||||
* This is the main filter engine
|
||||
* used both for input and output
|
||||
*/
|
||||
|
||||
#define DEBUG_THIS_CRAP 0
|
||||
@ -146,7 +127,7 @@ switch (idFx) {
|
||||
fimg_get_maxvalue(image)*0.8);
|
||||
break;
|
||||
case 6:
|
||||
retval = fimg_killcolors_a(image, 0.0);
|
||||
fimg_killcolors_a(image, 0.0);
|
||||
break;
|
||||
case 7:
|
||||
retval = fimg_colors_mixer_a(image, 2.0);
|
||||
@ -169,11 +150,6 @@ switch (idFx) {
|
||||
case 13:
|
||||
retval = insitu_filtre3x3(image);
|
||||
break;
|
||||
case 14:
|
||||
retval = desaturate(image);
|
||||
break;
|
||||
|
||||
/* here are the glitches */
|
||||
case 24: /* experiment ! */
|
||||
retval = des_bords_sombres_a(image, 160);
|
||||
break;
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
FILTRES="5:6:13 2:2 5:9:8 4:25 8:13:13:7 10:1 25:25:25:25 13:14:13"
|
||||
FILTRES="5:6:13 2:2 5:9:8 4:25 8:13:13:7 10:1 25:25:25:25"
|
||||
|
||||
rm /tmp/fstack*.png
|
||||
|
||||
@ -11,12 +11,12 @@ do
|
||||
echo ; echo $I
|
||||
./t -F $F
|
||||
txt=$(printf "[%-10s]" $F)
|
||||
convert foo.png -pointsize 24 -kerning 0 \
|
||||
convert foo.png -pointsize 28 -kerning 0 \
|
||||
-fill Gray80 -undercolor Gray20 \
|
||||
-font Courier-Bold \
|
||||
-annotate +0+23 "$txt" \
|
||||
-annotate +0+25 "$txt" \
|
||||
$I
|
||||
|
||||
done
|
||||
|
||||
convert -delay 100 /tmp/fstack*.png foo.gif
|
||||
convert -delay 150 /tmp/fstack*.png foo.gif
|
||||
|
@ -89,7 +89,7 @@ else fprintf(stderr, "\tno out fx\n");
|
||||
memset(&globbuf, 0, sizeof(glob_t));
|
||||
foo = glob(pattern, 0, NULL, &globbuf);
|
||||
if (foo) {
|
||||
fprintf(stderr, "glob (%s) failure %d\n", pattern, foo);
|
||||
fprintf(stderr, "glob failure %d\n", foo);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
@ -217,8 +217,8 @@ while ((opt = getopt(argc, argv, "B:ghI:O:s:T:vw:x:")) != -1) {
|
||||
}
|
||||
|
||||
if (verbosity) {
|
||||
fprintf(stderr, "input glob '%s'\n", in_pattern);
|
||||
fprintf(stderr, "output dir '%s'\n", out_dir);
|
||||
fprintf(stderr, "input glob %s\n", in_pattern);
|
||||
fprintf(stderr, "output dir %s\n", out_dir);
|
||||
}
|
||||
|
||||
foo = demarre_la_machine(in_pattern, out_dir, fifosize, in_effect,
|
||||
|
@ -66,7 +66,7 @@ fprintf(stderr, "IdxValues array at %p\n", idxvalues);
|
||||
/* compute all the needed values */
|
||||
for (idx=0; idx<nombre; idx++) {
|
||||
filename = ptr_glob->gl_pathv[idx];
|
||||
foo = get_float_metric_from_file(filename, &metrique, method);
|
||||
foo = get_float_metric_from_file(filename, &metrique);
|
||||
if (foo) {
|
||||
fprintf(stderr, "%s: err %d get metric of '%s'\n", __func__,
|
||||
foo, filename);
|
||||
@ -80,18 +80,18 @@ for (idx=0; idx<nombre; idx++) {
|
||||
|
||||
if (method) {
|
||||
/* and now, we can massage all our datas */
|
||||
// fprintf(stderr, "sorting %d ...\n", method);
|
||||
fprintf(stderr, "sorting %d ...\n", method);
|
||||
qsort(idxvalues, nombre, sizeof(IdxValue), cmp_idxvalues);
|
||||
}
|
||||
|
||||
if (verbosity > 1) {
|
||||
for (idx=0; idx<nombre; idx++) {
|
||||
printf("%5d %9.3f %5d\n", idx,
|
||||
printf("%5d %9.6f %5d\n", idx,
|
||||
idxvalues[idx].value, idxvalues[idx].idx);
|
||||
fflush(stdout);
|
||||
}
|
||||
}
|
||||
fprintf(stderr, "\n.\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -140,8 +140,6 @@ w = iarray[0], h = iarray[1];
|
||||
fprintf(stderr, "first image size : %dx%d\n", w, h);
|
||||
|
||||
fimg_create(&A, w, h, 3); pFirst = &A;
|
||||
fimg_vdeg_a(&A, idx_values[0].value);
|
||||
|
||||
fimg_create(&B, w, h, 3); pSecond = &B;
|
||||
fimg_create(&Out, w, h, 3);
|
||||
|
||||
@ -187,6 +185,12 @@ for (idx=0; idx<globbuf.gl_pathc; idx++) {
|
||||
return foo;
|
||||
}
|
||||
|
||||
if (foo) {
|
||||
fprintf(stderr, "\n%s: out fx %d failure %d\n",
|
||||
__func__, outfx, foo);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
sprintf(line, "%s/%05d.png", outdir, ipng);
|
||||
foo = fimg_save_as_png(&Out, line, 0);
|
||||
if (foo) {
|
||||
|
@ -13,7 +13,7 @@ extern int verbosity;
|
||||
/*
|
||||
* premier essai...
|
||||
*/
|
||||
int get_float_metric_a(FloatImg *pimg, float *where)
|
||||
int get_float_metric(FloatImg *pimg, float *where)
|
||||
{
|
||||
float means[4];
|
||||
int foo;
|
||||
@ -31,21 +31,7 @@ if (foo) {
|
||||
return 0;
|
||||
}
|
||||
/* -------------------------------------------------------------- */
|
||||
int get_float_metric_b(FloatImg *pimg, float *where)
|
||||
{
|
||||
int idx, size;
|
||||
double adder;
|
||||
|
||||
adder = 0.0;
|
||||
size = pimg->width * pimg->height;
|
||||
for (idx=20; idx < size; idx+=42) {
|
||||
adder += (double)pimg->R[idx];
|
||||
}
|
||||
*where = (float)adder;
|
||||
return 0;
|
||||
}
|
||||
/* -------------------------------------------------------------- */
|
||||
int get_float_metric_from_file(char *fname, float *where, int mode)
|
||||
int get_float_metric_from_file(char *fname, float *where)
|
||||
{
|
||||
FloatImg image;
|
||||
int foo;
|
||||
@ -57,9 +43,10 @@ if (foo) {
|
||||
return foo;
|
||||
}
|
||||
fval = -1.0; /* sensible default value */
|
||||
foo = get_float_metric_b(&image, &fval);
|
||||
foo = get_float_metric(&image, &fval);
|
||||
*where = fval;
|
||||
|
||||
// fprintf(stderr, "metric of '%s' = %f\n", fname, fval);
|
||||
fimg_destroy(&image);
|
||||
|
||||
return 0;
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
/* first experiments */
|
||||
|
||||
int get_float_metric_a(FloatImg *pimg, float *where);
|
||||
int get_float_metric_from_file(char *imgname, float *where, int mode);
|
||||
int get_float_metric(FloatImg *pimg, float *where);
|
||||
int get_float_metric_from_file(char *imgname, float *where);
|
||||
|
||||
/* -------------------------------------------------------------- */
|
||||
|
@ -3,7 +3,7 @@
|
||||
* ugly code from tTh
|
||||
*/
|
||||
|
||||
#define FIMG_VERSION 115
|
||||
#define FIMG_VERSION 114
|
||||
|
||||
/*
|
||||
* in memory descriptor
|
||||
@ -140,7 +140,7 @@ int fimg_qsort_rgb_b(FloatImg *psrc, FloatImg *pdst, int notused);
|
||||
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 notused);
|
||||
int fimg_desaturate(FloatImg *src, FloatImg *dst, int k);
|
||||
|
||||
/* module funcs/geometry.c */
|
||||
int fimg_halfsize_0(FloatImg *src, FloatImg *dst, int notused);
|
||||
|
@ -52,7 +52,7 @@ for (foo=0; foo<nbb; foo++) {
|
||||
return 0;
|
||||
}
|
||||
/* --------------------------------------------------------------------- */
|
||||
int fimg_desaturate(FloatImg *src, FloatImg *dst, int notused)
|
||||
int fimg_desaturate(FloatImg *src, FloatImg *dst, int k)
|
||||
{
|
||||
int foo, nbb;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user