Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Billedbehandling Processering af digitale billeder.

Liknende presentasjoner


Presentasjon om: "Billedbehandling Processering af digitale billeder."— Utskrift av presentasjonen:

1 Billedbehandling Processering af digitale billeder

2 dIntProg, E12 Billedbehandling Lighten BlurDarkenInvert

3 dIntProg, E12 Billedrepræsentation x y Pixel (x, y)  [0..255] 0 ~ sort, 255 ~hvid x  [0..width[, y  [0..heigth[ 0 0 height width

4 dIntProg, E12 Image, et interface til digitale billeder public class Image { // returnerer billedets højde public int getHeight() // returnerer billedets bredde public int getWidth() // returnerer billedelementet på position (x, y) public Pixel getPixel(int x, int y) // returnerer en liste med samtlige pixels i billedet public List getPixels() // returnerer de op til ni naboer til (x, y) public List getNeighbours(int x, int y) // gentegner billedet public void pixelsUpdated() }

5 dIntProg, E12 getHeight public class Image { // returnerer billedets højde public int getHeight()... } height

6 dIntProg, E12 getWidth public class Image {... // returnerer billedets bredde public int getWidth()... } width

7 dIntProg, E12 getPixel public class Image {... // returnerer billedelementet på position (x, y) public Pixel getPixel(int x, int y)... } x y

8 dIntProg, E12 getPixels public class Image {... // returnerer en liste med samtlige pixels i billedet public List getPixels()... }

9 dIntProg, E12 getNeighbours public class Image {... // returnerer de op til ni naboer til (x, y) public List getNeighbours(int x, int y)... } x y

10 dIntProg, E12 Pixel public class Pixel{ // returnerer gråtonen for denne pixel public int getValue() // opdaterer gråtonen for denne pixel public void setValue(int value) }

11 dIntProg, E12 Simpel billedbehandling for ( Pixel p : image.getPixels() ) { int oldValue = p.getValue(); int newValue; // calculate newValue // from oldValue p.setValue(newValue); } image p

12 dIntProg, E12 Brighten newValue = oldValue + 30

13 Brighten, Javakode for ( Pixel p : image.getPixels() ) { int oldValue = p.getValue(); int newValue; newValue = oldValue + 30; p.setPixel(newValue); } image p dIntProg, E12

14 Invert newValue = 255 - oldValue

15 Invert, Javakode for ( Pixel p : image.getPixels() ) { int oldValue = p.getValue(); int newValue; newValue = 255 – oldValue; p.setPixel(newValue); } image p dIntProg, E12

16 Koordinatbaseret gennemløb for (int y=0; y<image.height(); y++) { // behandl række y } for(int y=0; y<image.height(); y++) { // behandl række y for (int x=0; x<image.width(); x++) { // behandl pixel(x, y) } widthx y 0 0 height

17 dIntProg, E12 Invert, koordinatbaseret public void invert() { // go through all pixels and // invert the colour value for(int y = 0; y < image.height(); y++) { for(int x = 0; x < image.width(); x++) { Pixel p = image.getPixel(x, y); int oldValue = p.getValue(); int newValue; newValue = 255 – oldValue; p.setValue(newValue); } // redisplay the image on screen image.pixelsUpdated(); }

18 dIntProg, E12 Invert, koordinatbaseret og kompakt public void invert() { // go through all pixels and // invert the colour value for(int y = 0; y < image.height(); y++) { for(int x = 0; x < image.width(); x++) { image.getPixel(x, y).setValue(invert(x, y)); } // redisplay the image on screen image.pixelsUpdated(); } public int invert(int x, int y) { return 255-image.getValue(x, y); }

19 dIntProg, E12 Blur newValue = gennemsnit af naboer

20 dIntProg, E12 Blur, koordinatbaseret public Image blur() { Image result= new Image(image.getWidth(), image.getHeight(), "blurredImage”); for (int y = 0; y<image.getHeight(); y++) { for (int x = 0; x<image.getWidth(); x++) { result.getPixel(x, y).setValue(average(x,y)); } result.pixelsUpdated(); return result; } public int average(int x, int y) { int sum = 0; for (Pixel p : image.getNeighbours(x,y)) { sum= sum + p.getValue(); } return sum/image.getNeighbours(x,y).size(); }

21 dIntProg, E12 Billedoperationer (1) brighten Gør billedet lidt lysere darken Gør billedet lidt mørkere flip Spejlvend billedet omkring den horisontale midterakse mirror Spejlvend billedet omkring den vertikale midterakse invert Inverter hver gråtone, dvs. 0 bliver til 255, 1 bliver til 254, 2 bliver til 253, etc. rotateL Rotér billedet 90 grader (90 grader mod uret, venstre om)

22 dIntProg, E12 Billedoperationer (2) rotateR Rotér billedet -90 grader (90 grader med uret, højre om) thresholding Sæt alle pixels der højst har tærskelværdien til 0 og alle pixels større end tærskelværdien til 255 Parameter: tærskelværdien thresholding Sæt hver pixel til sort (0), grå (127) eller hvid (255) border Sæt en sort ramme omkring billedet Parameter: rammens bredde smoothing Erstat hvert pixel med gennemsnitsværdien i det 3x3 kvadrat det er centrum i

23 dIntProg, E12 Billedoperationer (3) oilPainting Erstat hvert pixel med den hyppigst forekommende værdi i det nxn kvadrat det er centrum i Parameter: størrelsen på kvadratet (n) fillImage Fyld billedet med en given farve Parameter: farveværdien drawRect Tegn et rektangel ind på billedet Parametre: øverste venstre og nederste højre hjørne samt en farve

24 dIntProg, E12 Billedoperationer (4) fillRect Udfyld et givent rektangel i billedet med en farve Parametre: øverste venstre og nederste højre hjørne af rektanglet samt fyldfarven add Læg et billede til et andet. Billeder ad- deres ved at addere værdierne for korres- ponderende pixels Parameter: et billede subtract Træk et billede fra et andet Parameter: et billede crop Skær et rektangel ud af et billede og lav dette til et nyt billede Parametre: øverste venstre og nederste højre hjørne på crop-rektanglet


Laste ned ppt "Billedbehandling Processering af digitale billeder."

Liknende presentasjoner


Annonser fra Google