Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Filtr medianowy w C

Ostatnio zmodyfikowano 2016-12-26 00:41
Autor Wiadomość
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

C/C++
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++ ) { // indeks i - numer wiersza
        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 );
}
P-155382
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.
P-155435
« 1 »
  Strona 1 z 1