Ignore:
Timestamp:
Feb 4, 2016, 6:25:22 PM (9 years ago)
Author:
meunier
Message:
  • Ajout de quelques fonction dans la lib math
  • Déplacement de certaines fonctions de stdlib vers string
Location:
soft/giet_vm/applications/rosenfeld/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • soft/giet_vm/applications/rosenfeld/src/ecc_common.c

    r772 r777  
    55#include <stdio.h>
    66#include <stdlib.h>
     7#include <string.h>
    78#include <math.h>
    89
     
    310311    char complete_filename[64];
    311312   
    312     sprintf(complete_filename, "%s.dot", filename);
     313    snprintf(complete_filename, 64, "%s.dot", filename);
    313314   
    314315    fd = open(complete_filename, O_CREAT | O_TRUNC);
     
    330331    char complete_filename[64];
    331332   
    332     sprintf(complete_filename, "%s.dot", filename);
     333    snprintf(complete_filename, 64, "%s.dot", filename);
    333334   
    334335   
     
    351352    char complete_filename[64];
    352353   
    353     sprintf(complete_filename, "%s.dot", filename);
     354    snprintf(complete_filename, 64, "%s.dot", filename);
    354355   
    355356   
     
    403404    char complete_filename[64];
    404405   
    405     sprintf(complete_filename, "%s.dot", filename);
     406    snprintf(complete_filename, 64, "%s.dot", filename);
    406407   
    407408   
  • soft/giet_vm/applications/rosenfeld/src/ecc_generation.c

    r772 r777  
    5858    generate_granularity_density_float(X, i0, i1, j0, j1, granularity, (float) density, seed);
    5959}
    60 // ---------------------------------------------------------------------------------------------
    61 void generate_granularity_density_name(char *name, int granularity, int density, char *filename)
    62 // ---------------------------------------------------------------------------------------------
    63 {
    64     sprintf(filename, "%s_%02d_%03d.pgm", name, granularity, density);
    65 }
    66 // ------------------------------------------------------------------------------------------------------------------
    67 void generate_granularity_density_ext_name(char *name, int granularity, int density, char *extension, char *filename)
    68 // ------------------------------------------------------------------------------------------------------------------
    69 {
    70     sprintf(filename, "%s_%02d_%03d.%s", name, granularity, density, extension);
    71 }
    72 // ------------------------------------------------------------------------------------------------------------
    73 void generate_size_granularity_density_name(char *name, int size, int granularity, int density, char *filename)
    74 // ------------------------------------------------------------------------------------------------------------
    75 {
    76     sprintf(filename, "%s_%d_%02d_%03d.pgm", name, size, granularity, density);
    77 }
    78 // ---------------------------------------------------------------------------------------------------------------------------------
    79 void generate_size_granularity_density_ext_name(char *name, int size, int granularity, int density, char *extension, char *filename)
    80 // ---------------------------------------------------------------------------------------------------------------------------------
    81 {
    82     sprintf(filename, "%s_%d_%02d_%03d.%s", name, size, granularity, density, extension);
    83 }
    84 // ---------------------------------------------------------------------------------------
    85 void generate_size_granularity_name(char *name, int size, int granularity, char *filename)
    86 // ---------------------------------------------------------------------------------------
    87 {
    88     sprintf(filename, "%s_%d_%02d.pgm", name, size, granularity);
    89 }// ------------------------------------------------------------------------------
    90 void generate_name100(char *name, int granularity, float density, char *filename)
    91 // ------------------------------------------------------------------------------
     60// ---------------------------------------------------------------------------------------------------------
     61void generate_granularity_density_name(char *name, int granularity, int density, char *filename, int maxlen)
     62// ---------------------------------------------------------------------------------------------------------
     63{
     64    snprintf(filename, maxlen, "%s_%02d_%03d.pgm", name, granularity, density);
     65}
     66// ------------------------------------------------------------------------------------------------------------------------------
     67void generate_granularity_density_ext_name(char *name, int granularity, int density, char *extension, char *filename, int maxlen)
     68// ------------------------------------------------------------------------------------------------------------------------------
     69{
     70    snprintf(filename, maxlen, "%s_%02d_%03d.%s", name, granularity, density, extension);
     71}
     72// ------------------------------------------------------------------------------------------------------------------------
     73void generate_size_granularity_density_name(char *name, int size, int granularity, int density, char *filename, int maxlen)
     74// ------------------------------------------------------------------------------------------------------------------------
     75{
     76    snprintf(filename, maxlen, "%s_%d_%02d_%03d.pgm", name, size, granularity, density);
     77}
     78// ---------------------------------------------------------------------------------------------------------------------------------------------
     79void generate_size_granularity_density_ext_name(char *name, int size, int granularity, int density, char *extension, char *filename, int maxlen)
     80// ---------------------------------------------------------------------------------------------------------------------------------------------
     81{
     82    snprintf(filename, maxlen, "%s_%d_%02d_%03d.%s", name, size, granularity, density, extension);
     83}
     84// ---------------------------------------------------------------------------------------------------
     85void generate_size_granularity_name(char *name, int size, int granularity, char *filename, int maxlen)
     86// ---------------------------------------------------------------------------------------------------
     87{
     88    snprintf(filename, maxlen, "%s_%d_%02d.pgm", name, size, granularity);
     89}// -----------------------------------------------------------------------------------------
     90void generate_name100(char *name, int granularity, float density, char *filename, int maxlen)
     91// ------------------------------------------------------------------------------------------
    9292{
    9393    // density en pourcentage: 0:100
    9494    // mais aussi <1, par exe 0.01
    9595    int d = (int) ceil(100 * density);
    96     sprintf(filename, "%s_%02d_%05d.pgm", name, granularity, d);
     96    snprintf(filename, maxlen, "%s_%02d_%05d.pgm", name, granularity, d);
    9797}
    9898// ----------------------------------------
     
    128128        for(d=dmin; d<=dmax; d+=dstep) {
    129129            generate_granularity_density_int(X, 0, n-1, 0, n-1, g, d, seed);
    130             generate_granularity_density_name("I", g, d, filename);
     130            generate_granularity_density_name("I", g, d, filename, 32);
    131131            printf(filename);
    132132            bin2gray_ui8matrix(X, 0, n-1, 0, n-1, X255);
     
    256256    X255 = ui8matrix(0, h-1, 0, w-1);
    257257   
    258     sprintf(filename, "spirale_simple_%d.pgm", n);
     258    snprintf(filename, 128, "spirale_simple_%d.pgm", n);
    259259    spirale_simple(X, h, w);
    260260    bin2gray_ui8matrix(X,   0, h-1, 0, w-1, X255);
    261261    SavePGM_ui8matrix(X255, 0, h-1, 0, w-1, filename);
    262262   
    263     sprintf(filename, "spirale_double_%d.pgm", n);
     263    snprintf(filename, 128, "spirale_double_%d.pgm", n);
    264264    spirale_double(X, h, w);
    265265    bin2gray_ui8matrix(X,   0, h-1, 0, w-1, X255);
     
    306306
    307307    generate_granularity_density_float(X, 0, h-1, 0, w-1, g, d, seed);
    308     generate_granularity_density_name("HGH", g, d, filename);
     308    generate_granularity_density_name("HGH", g, d, filename, 32);
    309309    printf(filename);
    310310    bin2gray_ui8matrix(X,   0, h-1, 0, w-1, X255);
  • soft/giet_vm/applications/rosenfeld/src/ecc_main_rosenfeld_sa.c

    r772 r777  
    105105    binarisation_ui8matrix(X0, i0, i1, j0, j1, 1, 1, X);    // pour le traitement
    106106    binarisation_ui8matrix(X0, i0, i1, j0, j1, 1, 255, X0); // pour la verif visuelle
    107     generate_path_filename(dst_path, "verif.pgm", complete_filename);
     107    generate_path_filename(dst_path, "verif.pgm", complete_filename, 1024);
    108108    SavePGM_ui8matrix(X0, i0, i1, j0, j1, complete_filename);
    109109    display_ui8matrix_positive(X, i0, i1, j0, j1, 3, "X");
     
    131131    // traitement: desactiver FlattenL dans Rosenfeld
    132132    // pour voir l'image d'etiquettes  sans re-etiquetage
    133     na = Rosenfeld_UF_Org1_4C(X, height, width, E32, T, A, nemax, Stats); ECC_VERBOSE(printf("na = %d\n", na)); filename = "Rosenfeld_UF_Org1_4C.bmp"; mod_ui32matrix_ui8matrix(E32, i0, i1, j0, j1, E8); generate_path_filename(dst_path, filename, complete_filename); SaveBMP2_ui8matrix(E8, width, height, palette, complete_filename); display_ui32matrix_positive(E32,i0, i1, j0, j1, 3, "E1"); zero_ui32matrix(E32, i0-border, i1+border, j0-border, j1+border); display_RegionStatsVector(Stats, 1, na, "Stats"); zero_RegionStatsVector(Stats, 0, nemax);
    134 
    135 
    136     na = Rosenfeld_UF_Org1_8C(X, height, width, E32, T, A, nemax, Stats); ECC_VERBOSE(printf("na = %d\n", na)); filename = "Rosenfeld_UF_Org1_8C.bmp"; mod_ui32matrix_ui8matrix(E32, i0, i1, j0, j1, E8); generate_path_filename(dst_path, filename, complete_filename); SaveBMP2_ui8matrix(E8, width, height, palette, complete_filename); display_ui32matrix_positive(E32,i0, i1, j0, j1, 3, "E1"); zero_ui32matrix(E32, i0-border, i1+border, j0-border, j1+border); display_RegionStatsVector(Stats, 1, na, "Stats"); zero_RegionStatsVector(Stats, 0, nemax);
    137 
    138 
    139     na = Rosenfeld_UF_Org2_4C(X, height, width, E32, T, A, nemax, Stats); ECC_VERBOSE(printf("na = %d\n", na)); filename = "Rosenfeld_UF_Org2_4C.bmp"; mod_ui32matrix_ui8matrix(E32, i0, i1, j0, j1, E8); generate_path_filename(dst_path, filename, complete_filename); SaveBMP2_ui8matrix(E8, width, height, palette, complete_filename); display_ui32matrix_positive(E32,i0, i1, j0, j1, 3, "E1"); zero_ui32matrix(E32, i0-border, i1+border, j0-border, j1+border); display_RegionStatsVector(Stats, 1, na, "Stats"); zero_RegionStatsVector(Stats, 0, nemax);
     133    na = Rosenfeld_UF_Org1_4C(X, height, width, E32, T, A, nemax, Stats); ECC_VERBOSE(printf("na = %d\n", na)); filename = "Rosenfeld_UF_Org1_4C.bmp"; mod_ui32matrix_ui8matrix(E32, i0, i1, j0, j1, E8); generate_path_filename(dst_path, filename, complete_filename, 1024); SaveBMP2_ui8matrix(E8, width, height, palette, complete_filename); display_ui32matrix_positive(E32,i0, i1, j0, j1, 3, "E1"); zero_ui32matrix(E32, i0-border, i1+border, j0-border, j1+border); display_RegionStatsVector(Stats, 1, na, "Stats"); zero_RegionStatsVector(Stats, 0, nemax);
     134
     135
     136    na = Rosenfeld_UF_Org1_8C(X, height, width, E32, T, A, nemax, Stats); ECC_VERBOSE(printf("na = %d\n", na)); filename = "Rosenfeld_UF_Org1_8C.bmp"; mod_ui32matrix_ui8matrix(E32, i0, i1, j0, j1, E8); generate_path_filename(dst_path, filename, complete_filename, 1024); SaveBMP2_ui8matrix(E8, width, height, palette, complete_filename); display_ui32matrix_positive(E32,i0, i1, j0, j1, 3, "E1"); zero_ui32matrix(E32, i0-border, i1+border, j0-border, j1+border); display_RegionStatsVector(Stats, 1, na, "Stats"); zero_RegionStatsVector(Stats, 0, nemax);
     137
     138
     139    na = Rosenfeld_UF_Org2_4C(X, height, width, E32, T, A, nemax, Stats); ECC_VERBOSE(printf("na = %d\n", na)); filename = "Rosenfeld_UF_Org2_4C.bmp"; mod_ui32matrix_ui8matrix(E32, i0, i1, j0, j1, E8); generate_path_filename(dst_path, filename, complete_filename, 1024); SaveBMP2_ui8matrix(E8, width, height, palette, complete_filename); display_ui32matrix_positive(E32,i0, i1, j0, j1, 3, "E1"); zero_ui32matrix(E32, i0-border, i1+border, j0-border, j1+border); display_RegionStatsVector(Stats, 1, na, "Stats"); zero_RegionStatsVector(Stats, 0, nemax);
    140140   
    141141    // free
     
    188188   
    189189    Palette_18ColorsBW(palette);
    190     generate_path_filename(pathSrc, filename, complete_filename);
     190    generate_path_filename(pathSrc, filename, complete_filename, 1024);
    191191
    192192    // chargement d'une image depuis le disque
     
    206206    binarisation_ui8matrix(X0, i0, i1, j0, j1, 20, 1, X); // pour le traitement
    207207    binarisation_ui8matrix(X0, i0, i1, j0, j1, 20, 255, X0); // pour la verif visuelle
    208     generate_path_filename(pathDst, "verif.pgm", complete_filename);
     208    generate_path_filename(pathDst, "verif.pgm", complete_filename, 1024);
    209209    SavePGM_ui8matrix(X0, i0, i1, j0, j1, complete_filename);
    210210
     
    236236    filename = "Rosenfeld_UF_Org1_8C.bmp";
    237237    mod_ui32matrix_ui8matrix(E32, i0, i1, j0, j1, E8);
    238     generate_path_filename(pathDst, filename, complete_filename);
     238    generate_path_filename(pathDst, filename, complete_filename, 1024);
    239239    SaveBMP2_ui8matrix(E8, width, height, palette, complete_filename);
    240240    zero_ui32matrix(E32, i0 - border, i1 + border, j0 - border, j1 + border);
  • soft/giet_vm/applications/rosenfeld/src/str_ext.c

    r772 r777  
    99#include <stdio.h>
    1010#include <stdlib.h>
     11#include <string.h>
    1112
    1213#include "nrc_os_config.h"
Note: See TracChangeset for help on using the changeset viewer.