Till välkomstsida
 
  Presentation
Vecka 1
Vecka 2
Vecka 3
Vecka 4

Mera bildfilter i Java

Digitala bildfilter kan användas för att påverka en bild och skapa intrssanta bildeffekter. Ett bildfilter är en funktion eller algoritm som givet ett antal inparametrar transformerar en orginalbild till en filtrerad bild. Den transformerade bilden kan skilja sig från orginalbilden i till exempel färg, form och storlek med mera, allt beroende på hur filtret är konstruerat. Intressanta synergieffekter, som kan vara svåra att förutse, kan uppstå i bilden om flera filter appliceras efter varandra där varje filter transformerar bilden som det föregående filtret producerat.

Denna uppgift illustrerar användning av den abstrakta Java klassen RGBImageFilter för att skapa olika bildfilter. Själva grundmotorn är densamma som i den föregående uppgiften. Det som är nytt är själva filter-klasserna. I en omdefinition av av basklassens filterRGB-metod sker en separering av de fyra olika kanalerna: alpha, red, green och blue, med hjälp av bit-masker och operatorn "&". Själva pixelpåverkan sker på lite olika sätt, men varje filter-klass retunerar slutligen dessa bitar som beskriver hur bilden skall transformeras. I ett av filtren sker själva filtreringen direkt i returen.

Följande filter finns:
GrayDay - istället för gråfilter (bilden blir snyggare)
FlipFlop - invertering av färger
BlueBayou - byter plats på blått och rött
SunShine - framhäver röda och gula toner
GreenLight - byter plats på rött och grönt, samt tonar ner grönt
PaintFantasy - färgerna bleks och röd nyans framhävs


Källkod: ImageFilter.java


Applet för uppgift 2f Let the work of art
speak for itself!