Billedbehandling. Processering af digitale billeder



Relaterede dokumenter
BILLEDREDIGERING (IMAGES)

Kursus navn: Indledende programmering Kursus nr

Bilag 1 Rige billeder Ordremodtagelse

Det sprogpædagogiske kørekort 2012/2013 Modul 7 Billedbehandling

DANMARKS TEKNISKE UNIVERSITET

Har kun én enkelt abstract metode De steder, hvor man skal bruge et objekt, hvis type er et funktionelt interface, kan man i stedet bruge en lambda

Billedbehandling med Pixlr.com. Minimanual Lars Rigborg

10. Fra midtpunktet tegnede jeg en sekskant med polygon tool, som blev logoets ramme.

Metoder og værktøjer til programmering

Vejledning til Photofiltre nr.166 Side 1 Lave små grafik knapper i Photofiltre

Løsning af skyline-problemet

Vejledning til at lave almindelige bordkort i Draw Side 1

Medicinsk billeddannelse

Lektion 1 - Beskæring til given størrelse

Genvejstaster i Kapitel 8C

Abstrakte datatyper C#-version

AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007

Mini brugermanual CMD 5.1

Vejledning til Photofiltre nr.172 Side 1 Lave et postkort som foldes sammen til A6 størrelse

Menulinie Standard-linie. Værktøjsindstillinger

Musikhuset Aarhus Scene/stage

Avanceret webgrafik med PhotoShop CS - Tips, Tricks og teknikker vist de afholdte foredrag

Kortforsyningen Rastertjenesten

Vejledning til Photofiltre nr. 119 Side 1

CMS - BRUGERMANUAL CMS

GRAFIK OG BILLEDBEHANDLING ROSKOLEN

Vejledning til. Photoshop Element 2.0 skrevet på dansk. Skrevet af Anna Margrethe Krogh-Thomsen.

Indholdsfortegnelse Forord... 5 De forskellige typer af lagblandinger... 7 Virkningen af lagblandinger i praksis... 9

Ekstramateriale til Photoshop CS2

Indholdsfortegnelse Forord... 6 De forskellige typer af lagblandinger... 8 Virkningen af lagblandinger i praksis... 10

Medicinsk billeddannelse

C# spil (del 1) - Kom i gang med et simpelt spil

Lidt om digitale billeder

Årsplan i matematik for 1. klasse

EDB trin 2 LAYOUT. Tekst i Paint Shop Pro 9

Vejledning til Photofiltre nr. 108 Side 1. Lave visitkort i dankort størelse med eget foto

Fundamentale sprogbegreber

Visuel identitet for Bygningsstyrelsen

Tegne- og billedbehandlingsprogrammer tilbyder mange forskellige værktøjer og funktioner. Denne mini-manual giver en hjælpende hånd.

Skriftlig eksamen i Datalogi

Flow-øvelse - Både. LEANREJSEN - En guide til leanledelse. Adobe full screen: Ctrl + L. Leanrejsen - En guide til leanledelse

Vejledning til Photofiltre nr. 120 Side 1

Vejledning til Photofiltre nr.129 Side 1

PHOTOSHOP - BILLEDREDIGERING

Introduktion til billedbehandling med IrfanView

Virkefeltsregler i Java

AFTER EFFECTS DET GRUNDLÆGGENDE INTERFACE

Tree klassen fra sidste forelæsning

Løsning af møntproblemet

Adobe Elements Lektion 2

Magic Systems. Byg et lille hus med Magic Systems

Greenshot. Indhold Greenshot Klik på det ønskede emne for at springe direkte til emnet.

Grundlæggende Programmering ITU, Efterår Skriftlig eksamen i Grundlæggende Programmering

International matematikkonkurrence for. og. klassetrin i Danmark

DTU M.SC. SKRIFTLIG EKSAMEN Reviderede Spørgsmål

Brug af billeder på hjemmesiden og redigering af billeder i Paint Net

Vejledning til Photofiltre nr. 105 Side 1

Algebra INTRO. I kapitlet arbejdes med følgende centrale matematiske begreber:

ARBEJDSPORTFOLIO SEPTEMBER 2011.

Image Converter. Betjeningsvejledning. Indholdsfortegnelse: Version: Sørg for at læse følgende, før Image Converteren anvendes

Opsætning af enkle bordkort Side 1

Transkript:

Billedbehandling Processering af digitale billeder

Billedbehandling Lighten Blur Darken Invert

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

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<Pixel> getpixels() // returnerer de op til ni naboer til (x, y) public List<Pixel> getneighbours(int x, int y) // gentegner billedet public void pixelsupdated()

getheight public class Image { // returnerer billedets højde public int getheight()... height

getwidth public class Image {... // returnerer billedets bredde public int getwidth()... width

getpixel public class Image {... // returnerer billedelementet på position (x, y) public Pixel getpixel(int x, int y)... x y

getpixels public class Image {... // returnerer en liste med samtlige pixels i billedet public List<Pixel> getpixels()...

getneighbours public class Image {... // returnerer de op til ni naboer til (x, y) public List<Pixel> getneighbours(int x, int y)... x y

Pixel public class Pixel{ // returnerer gråtonen for denne pixel public int getvalue() // opdaterer gråtonen for denne pixel public void setvalue(int value)

Simpel billedbehandling image for ( Pixel p : image.getpixels() ) { int oldvalue = p.getvalue(); int newvalue; // calculate newvalue // from oldvalue p.setvalue(newvalue); p

Brighten newvalue = oldvalue + 30

Brighten, Javakode image for ( Pixel p : image.getpixels() ) { int oldvalue = p.getvalue(); int newvalue; newvalue = oldvalue + 30; p.setpixel(newvalue); p

Invert newvalue = 255 - oldvalue

Invert, Javakode image for ( Pixel p : image.getpixels() ) { int oldvalue = p.getvalue(); int newvalue; newvalue = 255 oldvalue; p.setpixel(newvalue); p

Koordinatbaseret gennemløb 0 0 x width for (int y=0; y<image.height(); y++) { // behandl række y 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) height

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();

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);

Blur newvalue = gennemsnit af naboer

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();

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

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

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

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 adderes ved at addere værdierne for korresponderende 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