Compare commits

...

2 Commits

Author SHA1 Message Date
tth
47de778e60 sorry again... 2020-08-07 06:46:41 +02:00
tth
36b42ea917 sorry... 2020-08-06 23:58:09 +02:00

View File

@ -1,5 +1,5 @@
/* /*
* FloatImg library from tTh * FloatImg library from tTh - ugly code inside
*/ */
#include <stdio.h> #include <stdio.h>
@ -12,7 +12,10 @@
extern int verbosity; extern int verbosity;
/* -------------------------------------------------------------- */ /* -------------------------------------------------------------- */
/*
* parameter mix is between 0.0 and 1.0 but other
* values give sometime good vibrations.
*/
int fimg_mix_rgb_gray(FloatImg *img, float mix) int fimg_mix_rgb_gray(FloatImg *img, float mix)
{ {
int x, y, p; int x, y, p;
@ -24,7 +27,8 @@ if (FIMG_TYPE_RGB != img->type) {
} }
for (y=0; y<img->height; y++) { for (y=0; y<img->height; y++) {
p = y * img->width; p = y * img->width; /* first pixel of the row */
for (x=0; x<img->width; x++) { for (x=0; x<img->width; x++) {
gr = (img->R[p] + img->G[p] + img->R[p]) / 3.0; gr = (img->R[p] + img->G[p] + img->R[p]) / 3.0;
@ -42,17 +46,21 @@ return 0;
} }
/* -------------------------------------------------------------- */ /* -------------------------------------------------------------- */
/*
* The third parameter was a six value array with min and max
* values maybe computed by the 'fimg_get_minmax_rgb' function.
*/
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 sz, idx; int sz, idx;
sz = s->width * s->height; if (FIMG_TYPE_RGB != s->type) {
if (FIMG_TYPE_RGB != img->type) {
fprintf(stderr, "%s bad type\n", __func__); fprintf(stderr, "%s bad type\n", __func__);
return -6; return -6;
} }
sz = s->width * s->height;
for (idx=0; idx<sz; idx++) { for (idx=0; idx<sz; idx++) {
d->R[idx] = s->R[idx] - coefs[0]; d->R[idx] = s->R[idx] - coefs[0];
d->G[idx] = s->G[idx] - coefs[2]; d->G[idx] = s->G[idx] - coefs[2];