Filtr medianowy w C
Ostatnio zmodyfikowano 2016-12-26 00:41
klaphson Temat założony przez niniejszego użytkownika |
Filtr medianowy w C » 2016-12-24 19:19:04 funkcja tworzy mi plik ktory nie filtruje obrazu a go przechyla void filtr_medianowy( char * nazwa, struct pgm * foto ) { int i, j, window[ 9 ], g, v, size = 9, temp, a, b; FILE * plik = fopen( nazwa, "w" ); fputs( foto->p2, plik ); fputs( foto->koment, plik ); fprintf( plik, "%d %d \n", foto->k, foto->w ); fprintf( plik, "%d \n", foto->sk ); for( i = 1; i <( foto->w ) - 1; i++ ) { for( j = 1; j <( foto->k ) - 1; j++ ) { int k = 0; for( a = i - 1; a < i + 2; a++ ) { for( b = j - 1; b < j + 2; b++ ) { window[ k ] = foto->dane[ b ][ a ]; k++; } } for( g = 0; g < size; g++ ) { for( v = 0; v < size - 1; v++ ) { if( window[ v ] > window[ v + 1 ] ) { temp = window[ v + 1 ]; window[ v + 1 ] = window[ v ]; window[ v ] = temp; } } } fprintf( plik, " %d ", window[ 4 ] ); } fputs( "\n", plik ); } fclose( plik ); } |
|
pekfos |
» 2016-12-26 00:41:08 Powstały obraz będzie mniejszy, bo nie obsługujesz pikseli na brzegach obrazu. Zapisujesz jednak oryginalny rozmiar, więc czytając potem obraz liniami, będzie pochylony.
|
|
« 1 » |