forked from tTh/FloatImg
"img_crump_hard" was made in the bibcave
This commit is contained in:
parent
49d2703612
commit
e88ea153bd
@ -4,7 +4,7 @@
|
|||||||
* http://la.buvette.org/photos/cumul
|
* http://la.buvette.org/photos/cumul
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define FIMG_VERSION 152
|
#define FIMG_VERSION 153
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* in memory descriptor
|
* in memory descriptor
|
||||||
@ -124,7 +124,7 @@ int fimg_binarize(FloatImg *pimg, int notused);
|
|||||||
int fimg_trinarize(FloatImg *pimg, int notused);
|
int fimg_trinarize(FloatImg *pimg, int notused);
|
||||||
|
|
||||||
/* module sfx3.c */
|
/* module sfx3.c */
|
||||||
|
int fimg_crump_hard(FloatImg *src, FloatImg *dst, float kval, int notused);
|
||||||
|
|
||||||
/* module sfx4.c */
|
/* module sfx4.c */
|
||||||
int fimg_sfx_triplemul(FloatImg *s, FloatImg *d, int notused);
|
int fimg_sfx_triplemul(FloatImg *s, FloatImg *d, int notused);
|
||||||
|
@ -7,7 +7,8 @@ COPT = -Wall -fpic -g -no-pie -DDEBUG_LEVEL=0
|
|||||||
DEPS = ../floatimg.h Makefile
|
DEPS = ../floatimg.h Makefile
|
||||||
|
|
||||||
OBJS = fimg-png.o fimg-tiff.o misc-plots.o filtrage.o utils.o \
|
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 \
|
geometry.o rotate.o fimg-openexr.o \
|
||||||
equalize.o fimg-fits.o saturation.o histogram.o \
|
equalize.o fimg-fits.o saturation.o histogram.o \
|
||||||
hsv.o classif.o contour2x2.o qsortrgb.o exporter.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)
|
sfx2.o: sfx2.c $(DEPS)
|
||||||
gcc $(COPT) -c $<
|
gcc $(COPT) -c $<
|
||||||
|
|
||||||
|
sfx3.o: sfx3.c $(DEPS)
|
||||||
|
gcc $(COPT) -c $<
|
||||||
|
|
||||||
sfx4.o: sfx4.c $(DEPS)
|
sfx4.o: sfx4.c $(DEPS)
|
||||||
gcc $(COPT) -c $<
|
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];
|
float in[3], out[3];
|
||||||
|
|
||||||
#if DEBUG_LEVEL
|
#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
|
#endif
|
||||||
|
|
||||||
for (y=0; y<src->height; y++) {
|
for (y=0; y<src->height; y++) {
|
||||||
|
@ -93,9 +93,9 @@ int foo;
|
|||||||
fprintf(stderr, ">>> %s ( %p %p %f )\n", __func__, S, D, kf);
|
fprintf(stderr, ">>> %s ( %p %p %f )\n", __func__, S, D, kf);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
foo = fimg_classif_trial(S, D, kf, 0);
|
foo = fimg_crump_hard(S, D, kf, 0);
|
||||||
if (foo) {
|
if (foo) {
|
||||||
fprintf(stderr, "%s error %d classif_trial %p\n", __func__,
|
fprintf(stderr, "%s error %d experiment %p\n", __func__,
|
||||||
foo, S);
|
foo, S);
|
||||||
return -98;
|
return -98;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user