Keskiarvosuodin

Esimerkkiohjelma suodattaa harmaasävykuvan keskiarvosuodatuksella. Keskiarvoon otetaan yhdeksän pikselin (3*3 pikseliä) arvot ja lasketaan niistä keskiarvo, joka sijoitetaan yhdeksän pikselin muodotaman "neliön" keskelle.

public void keskiarvosuodin()   
{
    int y,x,y1,x1;
    int avg = 0;
 
    for(y=1; y<h-1; y++)  // h on kuvan korkeus
    {
          for(x=1; x<w-1; x++) // w on kuvan leveys
          {
              for(y1=-1; y1<=1; y1++)
              {
                for(x1=-1; x1<=1; x1++)
                  {
                    avg += kuva_2D[y+y1][x+x1];
                  }
            }
 
            avg = avg / 9;
 
            kuva_2D[y][x] = avg;
            avg = 0; 
        }
    }
}

Esimerkkikuva keskiarvosuodatetusta kuvasta
k_suodin.JPG

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License