"img_crump_hard" was made in the bibcave
This commit is contained in:
@@ -7,7 +7,8 @@ COPT = -Wall -fpic -g -no-pie -DDEBUG_LEVEL=0
|
||||
DEPS = ../floatimg.h Makefile
|
||||
|
||||
OBJS = fimg-png.o fimg-tiff.o misc-plots.o filtrage.o utils.o \
|
||||
fimg-libpnm.o rampes.o sfx0.o sfx1.o sfx2.o sfx4.o \
|
||||
fimg-libpnm.o rampes.o \
|
||||
sfx0.o sfx1.o sfx2.o sfx3.o sfx4.o \
|
||||
geometry.o rotate.o fimg-openexr.o \
|
||||
equalize.o fimg-fits.o saturation.o histogram.o \
|
||||
hsv.o classif.o contour2x2.o qsortrgb.o exporter.o \
|
||||
@@ -99,6 +100,9 @@ sfx1.o: sfx1.c $(DEPS)
|
||||
sfx2.o: sfx2.c $(DEPS)
|
||||
gcc $(COPT) -c $<
|
||||
|
||||
sfx3.o: sfx3.c $(DEPS)
|
||||
gcc $(COPT) -c $<
|
||||
|
||||
sfx4.o: sfx4.c $(DEPS)
|
||||
gcc $(COPT) -c $<
|
||||
|
||||
|
||||
52
funcs/sfx3.c
Normal file
52
funcs/sfx3.c
Normal file
@@ -0,0 +1,52 @@
|
||||
/*
|
||||
* FLOATIMG - a kluge from tTh
|
||||
* ---------------------------
|
||||
*
|
||||
* some strange effects on floating pictures, made in
|
||||
* the batcave of "Le Bib", in Montpellier.
|
||||
*/
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include "../floatimg.h"
|
||||
|
||||
extern int verbosity;
|
||||
|
||||
/* -------------------------------------------------------------- */
|
||||
int fimg_crump_hard(FloatImg *src, FloatImg *dst, float kval, int notused)
|
||||
{
|
||||
float halfval;
|
||||
float rgb[3];
|
||||
int x, y, foo;
|
||||
|
||||
#if DEBUG_LEVEL
|
||||
fprintf(stderr, ">>> %s ( %p %p %f 0x%04x )\n", __func__,
|
||||
src, dst, kval, notused);
|
||||
#endif
|
||||
|
||||
halfval = fimg_get_maxvalue(src) / 2.0;
|
||||
if (verbosity) {
|
||||
fprintf(stderr, "%s: halfval=%f\n", __func__, halfval);
|
||||
}
|
||||
|
||||
for (y=0; y<src->height; y++) {
|
||||
for (x=0; x<src->width; x++) {
|
||||
foo = fimg_get_rgb(src, x, y, rgb);
|
||||
if (foo) return foo;
|
||||
|
||||
if (rgb[0] > halfval) rgb[0] /= 2.0;
|
||||
if (rgb[1] > halfval) rgb[1] /= 2.0;
|
||||
if (rgb[2] > halfval) rgb[2] /= 2.0;
|
||||
|
||||
foo = fimg_put_rgb(dst, x, y, rgb);
|
||||
if (foo) return foo;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
/* -------------------------------------------------------------- */
|
||||
|
||||
@@ -21,7 +21,7 @@ int x, y, foo;
|
||||
float in[3], out[3];
|
||||
|
||||
#if DEBUG_LEVEL
|
||||
fprintf(stderr, ">>> %s ( %p 0x%04x )\n", __func__, img, notused);
|
||||
fprintf(stderr, ">>> %s ( %p %p 0x%04x )\n", __func__, src, dst, notused);
|
||||
#endif
|
||||
|
||||
for (y=0; y<src->height; y++) {
|
||||
|
||||
Reference in New Issue
Block a user