void correr_filtro_imagen( configuracion_t* config, aplicador_fn_t aplicador ) { snprintf( config->archivo_salida, sizeof( config->archivo_salida ), "%s/%s.%s.%s%s.bmp", config->carpeta_salida, basename( config->archivo_entrada ), config->nombre_filtro, C_ASM( config ), config->extra_archivo_salida ); snprintf( config->archivo_tiempo, sizeof( config->archivo_tiempo ), "%s/%s.%s.%s%s.txt", config->carpeta_salida, basename( config->archivo_entrada ), config->nombre_filtro, C_ASM( config ), config->extra_archivo_salida ); if ( config->nombre ) { printf( "%s\n", basename( config->archivo_salida ) ); } else { opencv_abrir_imagenes( config ); if ( config->tiempo ) { FILE* t; unsigned long start, end; t = fopen( config->archivo_tiempo, "w" ); while ( config->cant_iteraciones-- ) { MEDIR_TIEMPO_START( start ); aplicador( config ); MEDIR_TIEMPO_STOP( end ); fprintf( t, "%lu\n", ( end - start ) ); } fclose( t ); } else { aplicador( config ); } opencv_liberar_imagenes( config ); } }
void correr_filtro_imagen(configuracion_t *config, aplicador_fn_t aplicador) { snprintf(config->archivo_salida, sizeof(config->archivo_salida), "%s/%s.%s.%s%s.bmp", config->carpeta_salida, basename(config->archivo_entrada), config->nombre_filtro, C_ASM(config), config->extra_archivo_salida ); if (config->nombre) { printf("%s\n", basename(config->archivo_salida)); } else { opencv_abrir_imagenes(config); unsigned long start, end; MEDIR_TIEMPO_START(start); aplicador(config); MEDIR_TIEMPO_STOP(end); unsigned long delta = end - start; printf("%lu \n",delta); opencv_liberar_imagenes(config); } }