Zzzzz....
This commit is contained in:
parent
77e967cf38
commit
41e77a5185
@ -27,6 +27,7 @@
|
|||||||
26 rndblks 1 1.0
|
26 rndblks 1 1.0
|
||||||
27 shiftln0 1 1.0
|
27 shiftln0 1 1.0
|
||||||
28 qsortrgb 2 1.0
|
28 qsortrgb 2 1.0
|
||||||
|
29 triplemul 3 1.0
|
||||||
30 multidots 100 1.333
|
30 multidots 100 1.333
|
||||||
31 diagonal 1 1.0
|
31 diagonal 1 1.0
|
||||||
32 vsglitch 1 1.0
|
32 vsglitch 1 1.0
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
SINGLE
|
SINGLE PICZ PROCESSOR
|
||||||
|
|
||||||
experimental and/or testing code, do not use in
|
experimental and/or testing code, do not use in
|
||||||
production.
|
production.
|
||||||
|
|
||||||
@ -8,6 +9,7 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
#include "../floatimg.h"
|
#include "../floatimg.h"
|
||||||
|
|
||||||
@ -98,7 +100,6 @@ fprintf(stderr, "%s : %s\n", __FILE__, title);
|
|||||||
fprintf(stderr, " nextpng %d\n", nextpng);
|
fprintf(stderr, " nextpng %d\n", nextpng);
|
||||||
fprintf(stderr, " counter %d\n", counter);
|
fprintf(stderr, " counter %d\n", counter);
|
||||||
fprintf(stderr, " chainfilter %d\n", chainfilter);
|
fprintf(stderr, " chainfilter %d\n", chainfilter);
|
||||||
|
|
||||||
fprintf(stderr, " destination %s\n", destination);
|
fprintf(stderr, " destination %s\n", destination);
|
||||||
|
|
||||||
if (k) {
|
if (k) {
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* http://la.buvette.org/photos/cumul
|
* http://la.buvette.org/photos/cumul
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define FIMG_VERSION 148
|
#define FIMG_VERSION 150
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* in memory descriptor
|
* in memory descriptor
|
||||||
@ -26,7 +26,7 @@ typedef struct {
|
|||||||
*/
|
*/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
char magic[8];
|
char magic[8];
|
||||||
int w, h, t;
|
int32_t w, h, t;
|
||||||
} FimgFileHead;
|
} FimgFileHead;
|
||||||
|
|
||||||
#define MAGIC_AREA51 0xA5EA0051
|
#define MAGIC_AREA51 0xA5EA0051
|
||||||
@ -95,7 +95,6 @@ int fimg_mul_3(FloatImg *a, FloatImg *b, FloatImg *d);
|
|||||||
int fimg_minimum(FloatImg *a, FloatImg *b, FloatImg *d);
|
int fimg_minimum(FloatImg *a, FloatImg *b, FloatImg *d);
|
||||||
int fimg_maximum(FloatImg *a, FloatImg *b, FloatImg *d);
|
int fimg_maximum(FloatImg *a, FloatImg *b, FloatImg *d);
|
||||||
|
|
||||||
|
|
||||||
/* funcs/filtrage.c */
|
/* funcs/filtrage.c */
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@ -124,6 +123,9 @@ int fimg_highlight_color(FloatImg *src, FloatImg *dst,
|
|||||||
int fimg_binarize(FloatImg *pimg, int notused);
|
int fimg_binarize(FloatImg *pimg, int notused);
|
||||||
int fimg_trinarize(FloatImg *pimg, int notused);
|
int fimg_trinarize(FloatImg *pimg, int notused);
|
||||||
|
|
||||||
|
/* module sfx4.c */
|
||||||
|
int fimg_sfx_triplemul(FloatImg *s, FloatImg *d, int notused);
|
||||||
|
|
||||||
/* funcs/rotate.c module */
|
/* funcs/rotate.c module */
|
||||||
/* #coronamaison */
|
/* #coronamaison */
|
||||||
int fimg_rotate_90(FloatImg *src, FloatImg *dst, int notused);
|
int fimg_rotate_90(FloatImg *src, FloatImg *dst, int notused);
|
||||||
|
@ -7,7 +7,7 @@ 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 \
|
fimg-libpnm.o rampes.o sfx0.o sfx1.o sfx2.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 +99,9 @@ sfx1.o: sfx1.c $(DEPS)
|
|||||||
sfx2.o: sfx2.c $(DEPS)
|
sfx2.o: sfx2.c $(DEPS)
|
||||||
gcc $(COPT) -c $<
|
gcc $(COPT) -c $<
|
||||||
|
|
||||||
|
sfx4.o: sfx4.c $(DEPS)
|
||||||
|
gcc $(COPT) -c $<
|
||||||
|
|
||||||
contour2x2.o: contour2x2.c $(DEPS)
|
contour2x2.o: contour2x2.c $(DEPS)
|
||||||
gcc $(COPT) -c $<
|
gcc $(COPT) -c $<
|
||||||
|
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
#include "../floatimg.h"
|
#include "../floatimg.h"
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
#include "../floatimg.h"
|
#include "../floatimg.h"
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
#include "../floatimg.h"
|
#include "../floatimg.h"
|
||||||
|
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
#include "../floatimg.h"
|
#include "../floatimg.h"
|
||||||
|
|
||||||
@ -20,6 +21,8 @@ int fimg_recursion_proto(FloatImg *src, FloatImg *dst, int notused)
|
|||||||
fprintf(stderr, ">>> %s ( %p %p %d )\n", __func__, src, dst, notused);
|
fprintf(stderr, ">>> %s ( %p %p %d )\n", __func__, src, dst, notused);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
fprintf(stderr, "!!!!!! %s is a wip !!!!!\n", __func__);
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
/* -------------------------------------------------------------------- */
|
/* -------------------------------------------------------------------- */
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
#include "../floatimg.h"
|
#include "../floatimg.h"
|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
#include "../floatimg.h"
|
#include "../floatimg.h"
|
||||||
|
|
||||||
@ -99,7 +100,7 @@ coefs[0] = coefs[2] = coefs[4] = minima;
|
|||||||
|
|
||||||
foo = fimg_shift_to_zero(src, dst, coefs);
|
foo = fimg_shift_to_zero(src, dst, coefs);
|
||||||
if (foo) {
|
if (foo) {
|
||||||
fprintf(stderr, "%s WTF?\n", __func__);
|
fprintf(stderr, "%s WTF? %d\n", __func__, foo);
|
||||||
return foo;
|
return foo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
#include "../floatimg.h"
|
#include "../floatimg.h"
|
||||||
|
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
#include "../floatimg.h"
|
#include "../floatimg.h"
|
||||||
|
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
#include "../floatimg.h"
|
#include "../floatimg.h"
|
||||||
|
|
||||||
|
42
funcs/sfx4.c
Normal file
42
funcs/sfx4.c
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
/*
|
||||||
|
* FLOATIMG - a kluge from tTh
|
||||||
|
* ---------------------------
|
||||||
|
*
|
||||||
|
* some strange effects on floating pictures.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#include "../floatimg.h"
|
||||||
|
|
||||||
|
extern int verbosity;
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------- */
|
||||||
|
int fimg_sfx_triplemul(FloatImg *src, FloatImg *dst, int notused)
|
||||||
|
{
|
||||||
|
int x, y, foo;
|
||||||
|
float in[3], out[3];
|
||||||
|
|
||||||
|
#if DEBUG_LEVEL
|
||||||
|
fprintf(stderr, ">>> %s ( %p 0x%04x )\n", __func__, img, notused);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
for (y=0; y<src->height; y++) {
|
||||||
|
for (x=0; x<src->width; x++) {
|
||||||
|
foo = fimg_get_rgb(src, x, y, in);
|
||||||
|
out[0] = in[1] * in[2];
|
||||||
|
out[1] = in[0] * in[2];
|
||||||
|
out[2] = in[0] * in[1];
|
||||||
|
// fprintf(stderr, "%9f %9f %9f\n", out[0], out[1], out[2]);
|
||||||
|
foo = fimg_put_rgb(dst, x, y, out);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
/* -------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/* -------------------------------------------------------------- */
|
@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
#include "../floatimg.h"
|
#include "../floatimg.h"
|
||||||
|
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
/*
|
/*
|
||||||
* contrast.c - part of libfloatimg
|
* contrast.c - part of libfloatimg
|
||||||
|
* --------------------------------
|
||||||
|
*
|
||||||
|
* you can see some use in 'tools/fimgfx.c', so you can thing
|
||||||
|
* about the 'maxval' parameter. C'est touchy :)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@ -34,7 +38,7 @@ int nbre, idx;
|
|||||||
double dval;
|
double dval;
|
||||||
|
|
||||||
if (s->type != FIMG_TYPE_RGB) {
|
if (s->type != FIMG_TYPE_RGB) {
|
||||||
fprintf(stderr, "%s : type %d invalide\n",
|
fprintf(stderr, "%s: type %d invalide\n",
|
||||||
__func__, s->type);
|
__func__, s->type);
|
||||||
return -4;
|
return -4;
|
||||||
}
|
}
|
||||||
@ -42,13 +46,12 @@ if (s->type != FIMG_TYPE_RGB) {
|
|||||||
if (NULL==d) { d = s; }
|
if (NULL==d) { d = s; }
|
||||||
else {
|
else {
|
||||||
if (d->type != FIMG_TYPE_RGB) {
|
if (d->type != FIMG_TYPE_RGB) {
|
||||||
fprintf(stderr, "%s : dst type %d invalide\n",
|
fprintf(stderr, "%s: dst type %d invalide\n",
|
||||||
__func__, d->type);
|
__func__, d->type);
|
||||||
return -4;
|
return -4;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
nbre = s->width * s->height;
|
nbre = s->width * s->height;
|
||||||
|
|
||||||
for (idx=0; idx<nbre; idx++) {
|
for (idx=0; idx<nbre; idx++) {
|
||||||
@ -83,7 +86,6 @@ else {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
nbre = s->width * s->height;
|
nbre = s->width * s->height;
|
||||||
|
|
||||||
for (idx=0; idx<nbre; idx++) {
|
for (idx=0; idx<nbre; idx++) {
|
||||||
@ -97,7 +99,6 @@ for (idx=0; idx<nbre; idx++) {
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ---------------------------------------------------------------- */
|
/* ---------------------------------------------------------------- */
|
||||||
/*
|
/*
|
||||||
#macro Cos_01( X )
|
#macro Cos_01( X )
|
||||||
@ -110,7 +111,7 @@ int nbre, idx;
|
|||||||
double dval;
|
double dval;
|
||||||
|
|
||||||
if (s->type != FIMG_TYPE_RGB) {
|
if (s->type != FIMG_TYPE_RGB) {
|
||||||
fprintf(stderr, "%s : type %d invalide\n",
|
fprintf(stderr, "%s: type %d invalide\n",
|
||||||
__func__, s->type);
|
__func__, s->type);
|
||||||
return -4;
|
return -4;
|
||||||
}
|
}
|
||||||
@ -118,7 +119,7 @@ if (s->type != FIMG_TYPE_RGB) {
|
|||||||
if (NULL==d) { d = s; }
|
if (NULL==d) { d = s; }
|
||||||
else {
|
else {
|
||||||
if (d->type != FIMG_TYPE_RGB) {
|
if (d->type != FIMG_TYPE_RGB) {
|
||||||
fprintf(stderr, "%s : dst type %d invalide\n",
|
fprintf(stderr, "%s: dst type %d invalide\n",
|
||||||
__func__, d->type);
|
__func__, d->type);
|
||||||
return -4;
|
return -4;
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
/*
|
/*
|
||||||
FIMGFX
|
FIMGFX
|
||||||
|
|
||||||
|
* some functions here come from 'funcs/contrast.c'
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@ -22,7 +25,7 @@ typedef struct {
|
|||||||
|
|
||||||
enum fxid { Fx_cos01=5, Fx_cos010, Fx_pow2, Fx_sqrt, Fx_gray0, Fx_halfsz0,
|
enum fxid { Fx_cos01=5, Fx_cos010, Fx_pow2, Fx_sqrt, Fx_gray0, Fx_halfsz0,
|
||||||
Fx_rot90, Fx_cmixa, Fx_desat, Fx_ctr2x2, Fx_norm,
|
Fx_rot90, Fx_cmixa, Fx_desat, Fx_ctr2x2, Fx_norm,
|
||||||
Fx_classtrial, Fx_mirror, Fx_shift0,
|
Fx_classtrial, Fx_mirror, Fx_shift0, Fx_trimul,
|
||||||
Fx_xper, Fx_binarize, Fx_trinarize,Fx_hilight_R };
|
Fx_xper, Fx_binarize, Fx_trinarize,Fx_hilight_R };
|
||||||
|
|
||||||
Fx fx_list[] = {
|
Fx fx_list[] = {
|
||||||
@ -39,6 +42,7 @@ Fx fx_list[] = {
|
|||||||
{ "ctr2x2", Fx_ctr2x2, 0, 1 },
|
{ "ctr2x2", Fx_ctr2x2, 0, 1 },
|
||||||
{ "mirror", Fx_mirror, 0, 1 },
|
{ "mirror", Fx_mirror, 0, 1 },
|
||||||
{ "shift0", Fx_shift0, 0, 1 },
|
{ "shift0", Fx_shift0, 0, 1 },
|
||||||
|
{ "trimul", Fx_trimul, 0, 1 },
|
||||||
// { "norm", Fx_norm, 0, 1 },
|
// { "norm", Fx_norm, 0, 1 },
|
||||||
{ "classtrial", Fx_classtrial, 0, 1 },
|
{ "classtrial", Fx_classtrial, 0, 1 },
|
||||||
{ "binarize", Fx_binarize, 0, 1 },
|
{ "binarize", Fx_binarize, 0, 1 },
|
||||||
@ -51,6 +55,7 @@ Fx fx_list[] = {
|
|||||||
static void list_of_effects(void)
|
static void list_of_effects(void)
|
||||||
{
|
{
|
||||||
Fx *fx;
|
Fx *fx;
|
||||||
|
/* this list must be on just ONE columns */
|
||||||
for (fx=fx_list; fx->name; fx++) {
|
for (fx=fx_list; fx->name; fx++) {
|
||||||
printf("%s\n", fx->name);
|
printf("%s\n", fx->name);
|
||||||
}
|
}
|
||||||
@ -89,7 +94,7 @@ fprintf(stderr, ">>> %s ( %p %p %f )\n", __func__, S, D, kf);
|
|||||||
|
|
||||||
foo = fimg_classif_trial(S, D, kf, 0);
|
foo = fimg_classif_trial(S, D, kf, 0);
|
||||||
if (foo) {
|
if (foo) {
|
||||||
fprintf(stderr, "%s err %d classif_trial %p\n", __func__,
|
fprintf(stderr, "%s error %d classif_trial %p\n", __func__,
|
||||||
foo, S);
|
foo, S);
|
||||||
return -98;
|
return -98;
|
||||||
}
|
}
|
||||||
@ -102,7 +107,7 @@ static void help(int lvl)
|
|||||||
Fx *fx;
|
Fx *fx;
|
||||||
int foo;
|
int foo;
|
||||||
|
|
||||||
printf("-- fimg special effects -- %s %s --\n", __DATE__, __TIME__);
|
printf("-*- fimg special effects -*- %s %s -*-\n", __DATE__, __TIME__);
|
||||||
puts("usage:");
|
puts("usage:");
|
||||||
puts("\tfimgfx [options] <effect> source.fimg resultat.fimg");
|
puts("\tfimgfx [options] <effect> source.fimg resultat.fimg");
|
||||||
|
|
||||||
@ -121,7 +126,7 @@ for (fx=fx_list; fx->name; fx++) {
|
|||||||
foo = 0;
|
foo = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
puts("");
|
puts("\n");
|
||||||
fimg_print_version(1);
|
fimg_print_version(1);
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
@ -203,9 +208,13 @@ switch (action) {
|
|||||||
foo = fimg_mirror(&src, &dest, 0);
|
foo = fimg_mirror(&src, &dest, 0);
|
||||||
break;
|
break;
|
||||||
case Fx_shift0:
|
case Fx_shift0:
|
||||||
fprintf(stderr, "Krkrk %d\n", action);
|
// fprintf(stderr, "Krkrk %d\n", action);
|
||||||
foo = fimg_auto_shift_to_zero(&src, &dest);
|
foo = fimg_auto_shift_to_zero(&src, &dest);
|
||||||
break;
|
break;
|
||||||
|
case Fx_trimul:
|
||||||
|
fprintf(stderr, "trimul %d\n", action);
|
||||||
|
foo = fimg_sfx_triplemul(&src, &dest, 0);
|
||||||
|
break;
|
||||||
case Fx_ctr2x2:
|
case Fx_ctr2x2:
|
||||||
foo = fimg_contour_2x2(&src, &dest, 0);
|
foo = fimg_contour_2x2(&src, &dest, 0);
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user