Compare commits
2 Commits
2116d62c63
...
2a2bc51e70
Author | SHA1 | Date | |
---|---|---|---|
2a2bc51e70 | |||
8bbe639ad5 |
@ -126,11 +126,21 @@ if (retval) {
|
|||||||
fprintf(stderr, "%s error %d on filter\n", __func__, retval);
|
fprintf(stderr, "%s error %d on filter\n", __func__, retval);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foo = fimg_auto_shift_to_zero(&img, &img);
|
||||||
|
if (foo) {
|
||||||
|
fprintf(stderr, "%s: err %d zero shift\n", __func__, foo);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
/** may be, we can check for negative values ? */
|
/** may be, we can check for negative values ? */
|
||||||
|
/** or is this useless because whe have shifted to zero ? */
|
||||||
if (verbosity > 1) {
|
if (verbosity > 1) {
|
||||||
foo = fimg_count_negativ(&img);
|
foo = fimg_count_negativ(&img);
|
||||||
fprintf(stderr, "%s -> %d / %d negative pixels\n", __func__,
|
if (foo) {
|
||||||
foo, img.width*img.height);
|
fprintf(stderr, "%s -> %d / %d negative pixels\n", __func__,
|
||||||
|
foo, img.width*img.height);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fimg_killborders(&img);
|
fimg_killborders(&img);
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
* ugly code from tTh
|
* ugly code from tTh
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define FIMG_VERSION 119
|
#define FIMG_VERSION 120
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* in memory descriptor
|
* in memory descriptor
|
||||||
@ -128,7 +128,10 @@ int fimg_power_2(FloatImg *s, FloatImg *d, double maxval);
|
|||||||
int fimg_cos_01(FloatImg *s, FloatImg *d, double maxval);
|
int fimg_cos_01(FloatImg *s, FloatImg *d, double maxval);
|
||||||
int fimg_cos_010(FloatImg *s, FloatImg *d, double maxval);
|
int fimg_cos_010(FloatImg *s, FloatImg *d, double maxval);
|
||||||
int fimg_mix_rgb_gray(FloatImg *img, float mix);
|
int fimg_mix_rgb_gray(FloatImg *img, float mix);
|
||||||
|
|
||||||
|
/* funcs/saturation.c */
|
||||||
int fimg_shift_to_zero(FloatImg *s, FloatImg *d, float coefs[6]);
|
int fimg_shift_to_zero(FloatImg *s, FloatImg *d, float coefs[6]);
|
||||||
|
int fimg_auto_shift_to_zero(FloatImg *s, FloatImg *d);
|
||||||
|
|
||||||
/* --> funcs/plasmas.c */
|
/* --> funcs/plasmas.c */
|
||||||
int fimg_prototype_plasma(FloatImg *img, double time, int type);
|
int fimg_prototype_plasma(FloatImg *img, double time, int type);
|
||||||
|
@ -70,5 +70,30 @@ for (idx=0; idx<sz; idx++) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* -------------------------------------------------------------- */
|
/* -------------------------------------------------------------- */
|
||||||
|
int fimg_auto_shift_to_zero(FloatImg *src, FloatImg *dst)
|
||||||
|
{
|
||||||
|
float coefs[6];
|
||||||
|
int foo;
|
||||||
|
|
||||||
|
if (FIMG_TYPE_RGB != src->type) {
|
||||||
|
fprintf(stderr, "%s: bad image type %d\n", __func__, src->type);
|
||||||
|
return -6;
|
||||||
|
}
|
||||||
|
|
||||||
|
foo = fimg_get_minmax_rgb(src, coefs);
|
||||||
|
if (foo) {
|
||||||
|
fprintf(stderr, "%s: err %d get minmax\n", __func__, foo);
|
||||||
|
return foo;
|
||||||
|
}
|
||||||
|
|
||||||
|
foo = fimg_shift_to_zero(src, dst, coefs);
|
||||||
|
if (foo) {
|
||||||
|
fprintf(stderr, "%s WTF?\n", __func__);
|
||||||
|
return foo;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
/* -------------------------------------------------------------- */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user