adding new bugs ?

This commit is contained in:
le vieux 2020-11-25 10:32:02 +01:00
parent 54ee71119d
commit db7728bb10
2 changed files with 31 additions and 7 deletions

View File

@ -123,7 +123,7 @@ switch (idFx) {
retval = trinarize(image, 0); retval = trinarize(image, 0);
break; break;
case 24: /* experiment ! */ case 24: /* experiment ! */
retval = des_bords_sombres_a(image, 260); retval = des_bords_sombres_a(image, 160);
break; break;
case 25: case 25:
/* please make this function more tweakable */ /* please make this function more tweakable */

View File

@ -23,27 +23,29 @@ extern int verbosity;
int des_bords_sombres_a(FloatImg *pimg, int offset) int des_bords_sombres_a(FloatImg *pimg, int offset)
{ {
float coef; float coef;
int xpos, lidx, y; int xpos, xp2, lidx, y;
#if DEBUG_LEVEL #if DEBUG_LEVEL
fprintf(stderr, ">>> %s ( %p %d )\n", __func__, pimg, offset); fprintf(stderr, ">>> %s ( %p %d )\n", __func__, pimg, offset);
#endif #endif
if (offset<0 || offset>pimg->width) { if (offset<0 || offset>=pimg->width) {
fprintf(stderr, "%s offset %d is bad\n", __func__, offset); fprintf(stderr, "%s offset %d is bad\n", __func__, offset);
return -66; return -66;
} }
for (y=0; y<pimg->height; y++) { for (y=0; y<pimg->height; y++) {
lidx = y * pimg->width; lidx = y * pimg->width; /* start of the
'y' line */
for (xpos=0; xpos<offset; xpos++) { for (xpos=0; xpos<offset; xpos++) {
coef = (float)xpos / (float)offset; coef = (float)xpos / (float)offset;
pimg->R[xpos+lidx] *= coef; pimg->R[xpos+lidx] *= coef;
pimg->G[xpos+lidx] *= coef; pimg->G[xpos+lidx] *= coef;
pimg->B[xpos+lidx] *= coef; pimg->B[xpos+lidx] *= coef;
pimg->R[(pimg->width-xpos)+lidx] *= coef; xp2 = pimg->width-xpos;
pimg->G[(pimg->width-xpos)+lidx] *= coef; pimg->R[xp2+lidx] *= coef;
pimg->B[(pimg->width-xpos)+lidx] *= coef; pimg->G[xp2+lidx] *= coef;
pimg->B[xp2+lidx] *= coef;
} }
} }
@ -52,6 +54,28 @@ return 0;
/* -------------------------------------------------------------- */ /* -------------------------------------------------------------- */
int trinarize(FloatImg *pimg, int notused) int trinarize(FloatImg *pimg, int notused)
{ {
float mm[6], mRa, mGa, mBa, mRb, mGb, mBb;
int foo, size;
#if DEBUG_LEVEL
fprintf(stderr, ">>> %s ( %p %d )\n", __func__, pimg, notused);
#endif
foo = fimg_get_minmax_rgb(pimg, mm);
mRa = (mm[1] - mm[0]) * 0.33333;
mGa = (mm[3] - mm[2]) * 0.33333;
mBa = (mm[5] - mm[4]) * 0.33333;
mRb = (mm[1] - mm[0]) * 0.66666;
mGb = (mm[3] - mm[2]) * 0.66666;
mBb = (mm[5] - mm[4]) * 0.66666;
size = pimg->width * pimg->height;
for (foo=0; foo<size; foo++) {
; // XXX
}
fprintf(stderr, "the function '%s' is not implemented\n", __func__); fprintf(stderr, "the function '%s' is not implemented\n", __func__);
exit(2); exit(2);