|
|
|
@ -41,6 +41,50 @@ if (foo) {
@@ -41,6 +41,50 @@ if (foo) {
|
|
|
|
|
val = fimg_get_maxvalue(&A); |
|
|
|
|
fprintf(stderr, "AFTER max pixel %f\n", val); |
|
|
|
|
|
|
|
|
|
fimg_destroy(&A); |
|
|
|
|
|
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
/* ---------------------------------------------------------------- */ |
|
|
|
|
#define WI 1024 |
|
|
|
|
#define HI 768 |
|
|
|
|
#define KDEG 3.141592654 /* secret magic number */ |
|
|
|
|
|
|
|
|
|
int essai_interpolate(int k) |
|
|
|
|
{ |
|
|
|
|
FloatImg A, B, C; |
|
|
|
|
int foo; |
|
|
|
|
|
|
|
|
|
foo = fimg_create(&A, WI, HI, FIMG_TYPE_RGB); |
|
|
|
|
if (foo) { |
|
|
|
|
fprintf(stderr, "%s err create A %d\n", __func__, foo); |
|
|
|
|
return foo; |
|
|
|
|
} |
|
|
|
|
fimg_hdeg_a(&A, KDEG); |
|
|
|
|
|
|
|
|
|
foo = fimg_create(&B, WI, HI, FIMG_TYPE_RGB); |
|
|
|
|
if (foo) { |
|
|
|
|
fprintf(stderr, "%s err create B %d\n", __func__, foo); |
|
|
|
|
return foo; |
|
|
|
|
} |
|
|
|
|
fimg_vdeg_a(&B, KDEG); |
|
|
|
|
|
|
|
|
|
foo = fimg_create(&C, WI, HI, FIMG_TYPE_RGB); |
|
|
|
|
if (foo) { |
|
|
|
|
fprintf(stderr, "%s err create C %d\n", __func__, foo); |
|
|
|
|
return foo; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
foo = fimg_interpolate(&A, &B, &C, 0.5); |
|
|
|
|
if (foo) { |
|
|
|
|
fprintf(stderr, "%s err interpolate %d\n", __func__, foo); |
|
|
|
|
return foo; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
foo = fimg_save_as_pnm(&C, "interpolate.pnm", 0); |
|
|
|
|
|
|
|
|
|
fimg_destroy(&A); fimg_destroy(&B); fimg_destroy(&C); |
|
|
|
|
|
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
/* ---------------------------------------------------------------- */ |
|
|
|
@ -74,13 +118,14 @@ fimg_destroy(&gray);
@@ -74,13 +118,14 @@ fimg_destroy(&gray);
|
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
/* ---------------------------------------------------------------- */ |
|
|
|
|
#define TAILLE 1024 |
|
|
|
|
|
|
|
|
|
int essai_clone_et_copy(int unused) |
|
|
|
|
{ |
|
|
|
|
FloatImg A, B, C; |
|
|
|
|
int foo; |
|
|
|
|
|
|
|
|
|
foo = fimg_create(&A, 512, 512, FIMG_TYPE_RGB); |
|
|
|
|
foo = fimg_create(&A, TAILLE, TAILLE, FIMG_TYPE_RGB); |
|
|
|
|
if (foo) { |
|
|
|
|
fprintf(stderr, "%s err create A %d\n", __func__, foo); |
|
|
|
|
return foo; |
|
|
|
@ -90,8 +135,8 @@ if (foo) {
@@ -90,8 +135,8 @@ if (foo) {
|
|
|
|
|
fprintf(stderr, "%s err drawing A %d\n", __func__, foo); |
|
|
|
|
return foo; |
|
|
|
|
} |
|
|
|
|
foo = fimg_save_as_pnm(&A, "A.pnm", 0); |
|
|
|
|
|
|
|
|
|
foo = fimg_save_as_pnm(&A, "A.pnm", 0); |
|
|
|
|
if (foo) { |
|
|
|
|
fprintf(stderr, "%s : err %d on save_as_pnm\n", __func__, foo); |
|
|
|
|
exit(1); |
|
|
|
@ -103,7 +148,7 @@ if (foo) {
@@ -103,7 +148,7 @@ if (foo) {
|
|
|
|
|
return foo; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
foo = fimg_create(&C, 512, 512, FIMG_TYPE_RGB); |
|
|
|
|
foo = fimg_create(&C, TAILLE, TAILLE, FIMG_TYPE_RGB); |
|
|
|
|
if (foo) { |
|
|
|
|
fprintf(stderr, "%s err create A %d\n", __func__, foo); |
|
|
|
|
return foo; |
|
|
|
@ -115,9 +160,13 @@ if (foo) {
@@ -115,9 +160,13 @@ if (foo) {
|
|
|
|
|
} |
|
|
|
|
foo = fimg_save_as_pnm(&C, "C.pnm", 0); |
|
|
|
|
|
|
|
|
|
fimg_destroy(&A); fimg_destroy(&B); fimg_destroy(&C); |
|
|
|
|
|
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#undef TAILLE |
|
|
|
|
|
|
|
|
|
/* ---------------------------------------------------------------- */ |
|
|
|
|
|
|
|
|
|
int essai_contraste(char *fname) |
|
|
|
@ -127,38 +176,42 @@ FloatImg dessin, copy;
@@ -127,38 +176,42 @@ FloatImg dessin, copy;
|
|
|
|
|
double maxi; |
|
|
|
|
|
|
|
|
|
foo = fimg_create_from_dump(fname, &dessin); |
|
|
|
|
if (foo) { |
|
|
|
|
fprintf(stderr, "in %s, error %d loading '%s'\n", |
|
|
|
|
__func__, foo, fname); |
|
|
|
|
return foo; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
foo = fimg_clone(&dessin, ©, 0); |
|
|
|
|
|
|
|
|
|
maxi = (double)fimg_get_maxvalue(&dessin); |
|
|
|
|
fprintf(stderr, "image source valeur maxi = %f\n", maxi); |
|
|
|
|
fprintf(stderr, "image source valeur maxi = %f\n", maxi); |
|
|
|
|
|
|
|
|
|
fimg_power_2(&dessin, ©, maxi); |
|
|
|
|
maxi = (double)fimg_get_maxvalue(©); |
|
|
|
|
fprintf(stderr, "apres power_2 valeur maxi = %f\n", maxi); |
|
|
|
|
fimg_dump_to_file(©, "power2.fimg", 0); |
|
|
|
|
fprintf(stderr, "apres power_2 valeur maxi = %f\n", maxi); |
|
|
|
|
fimg_save_as_pnm(©, "power2.pnm", 0); |
|
|
|
|
|
|
|
|
|
fimg_square_root(&dessin, ©, maxi); |
|
|
|
|
maxi = (double)fimg_get_maxvalue(©); |
|
|
|
|
fprintf(stderr, "apres square_root valeur maxi = %f\n", maxi); |
|
|
|
|
fimg_dump_to_file(©, "squareroot.fimg", 0); |
|
|
|
|
fimg_save_as_pnm(©, "squareroot.pnm", 0); |
|
|
|
|
|
|
|
|
|
fimg_cos_01(&dessin, ©, maxi); |
|
|
|
|
maxi = (double)fimg_get_maxvalue(©); |
|
|
|
|
fprintf(stderr, "apres cos 01 valeur maxi = %f\n", maxi); |
|
|
|
|
fimg_dump_to_file(©, "cos_01.fimg", 0); |
|
|
|
|
fimg_save_as_pnm(©, "cos_01.pnm", 0); |
|
|
|
|
|
|
|
|
|
fimg_cos_010(&dessin, ©, maxi); |
|
|
|
|
maxi = (double)fimg_get_maxvalue(©); |
|
|
|
|
fprintf(stderr, "apres cos 010 valeur maxi = %f\n", maxi); |
|
|
|
|
fimg_dump_to_file(©, "cos_010.fimg", 0); |
|
|
|
|
fimg_save_as_pnm(©, "cos_010.pnm", 0); |
|
|
|
|
|
|
|
|
|
fimg_destroy(&dessin); |
|
|
|
|
fimg_destroy(&dessin); fimg_destroy(©); |
|
|
|
|
|
|
|
|
|
return -1; |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
/* ---------------------------------------------------------------- */ |
|
|
|
|
#define W 320 |
|
|
|
|
#define H 240 |
|
|
|
|
int main(int argc, char *argv[]) |
|
|
|
|
{ |
|
|
|
|
int foo, opt; |
|
|
|
@ -178,5 +231,14 @@ if (verbosity) fimg_print_version(0);
@@ -178,5 +231,14 @@ if (verbosity) fimg_print_version(0);
|
|
|
|
|
foo = essai_normalize(); |
|
|
|
|
fprintf(stderr, "retour essai normalize -> %d\n", foo); |
|
|
|
|
|
|
|
|
|
foo = essai_contraste("quux.fimg"); |
|
|
|
|
fprintf(stderr, "retour essai contraste -> %d\n", foo); |
|
|
|
|
|
|
|
|
|
foo = essai_clone_et_copy(0); |
|
|
|
|
fprintf(stderr, "retour essai clone'n'copy -> %d\n", foo); |
|
|
|
|
|
|
|
|
|
foo = essai_interpolate(0); |
|
|
|
|
fprintf(stderr, "retour essai interpolate -> %d\n", foo); |
|
|
|
|
|
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|