OO2-project: Beeldbewerking
This presentation is the property of its rightful owner.
Sponsored Links
1 / 23

OO2-project: Beeldbewerking G. de Haan EH9.27 PowerPoint PPT Presentation


  • 67 Views
  • Uploaded on
  • Presentation posted in: General

OO2-project: Beeldbewerking G. de Haan EH9.27. Inhoud. Beeldbewerking Waar gaat het over? Wat is een beeld? Hoe wordt beeld opgeslagen? De opdracht: Een 3x3 lineair filter Wat doet het? Wat kan je ermee? Praktische tips. Waar gaat het over?. This is our field. WEB.

Download Presentation

OO2-project: Beeldbewerking G. de Haan EH9.27

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Oo2 project beeldbewerking g de haan eh9 27

OO2-project: BeeldbewerkingG. de Haan

EH9.27


Inhoud

Inhoud

  • Beeldbewerking

    • Waar gaat het over?

    • Wat is een beeld?

    • Hoe wordt beeld opgeslagen?

  • De opdracht: Een 3x3 lineair filter

    • Wat doet het?

    • Wat kan je ermee?

    • Praktische tips


Oo2 project beeldbewerking g de haan eh9 27

Waar gaat het over?


Video processing in es

This is our field

WEB

Video processing in ES

72 Hz 1:1

85 Hz 1:1

95 Hz 1:1

24 Hz 1:1

25 Hz 1:1

30 Hz 1:1

VGA, SVGA, XVGA, etc..

50 Hz 2:1

60 Hz 2:1

50 Hz 2:1

60 Hz 2:1

100 Hz 2:1

CIF QCIF 1-25Hz 1:1

Flat panel displays


Voorbeeld werk in vakgroep es bewegingsschatting

Voorbeeld werk in vakgroep ES: bewegingsschatting


Oo2 project beeldbewerking g de haan eh9 27

Wat is een beeld?


Een z w beeld is een matrix van helderheidswaarden

400 pixels/lijn

40 pixels/lijn

300 lijnen

30 lijnen

Een (z/w) beeld is een matrix van helderheidswaarden

Meer pixels  betere beeldkwaliteit


Oo2 project beeldbewerking g de haan eh9 27

Hoe sla je een beeld op?


Beeld in een 1 dimensionaal pixel array

Beeld in een 1-dimensionaal pixel-array

width

0

y

x

Width*height

Address: [y*width+x]


Hoeveel bits per pixel moeten we opslaan

Hoeveel bits per pixel moeten we opslaan?

Experiment: We kunnen ongeveer 200 niveaux in een beeld onderscheiden

We gebruiken daarom een 8 bit representatie voor de luminantie


Het input bestand met beeld data name y format

Het input bestand met beeld data (name.y format)

football.y

bicycle.y

File: {byte0,byte1,……..byten, bytewidth*height}

Pixel linksboven

Pixel rechtsonder

Voorbeeld: Twee pixels boven elkaar b.v.: byten en byten+width


Oo2 project beeldbewerking g de haan eh9 27

De opdracht:

Een 3x3 filter


Wat doet een 3x3 filter met een beeld

3x3filter

Voorbeeld: filter coefficienten allemaal “1”

Wat doet een 3x3 filter met een beeld?

  • 3x3 Filter vervangt elk pixel (byte) in de file door een gewogen som van dat pixel en zijn 8 directe buren:

  • Met:

  • En filter-coefficient C gerepresenteerd door e e n byte


Oo2 project beeldbewerking g de haan eh9 27

Wat kan je ermee?


Wat kunnen we er mee blur

Wat kunnen we er mee? (blur)

Filter coefficienten:

+1 +1 +1

+1 +1 +1

+1 +1 +1


C code for blurring

C-code for blurring

for(int a=width+1;a<width*height-(width+1);a++){

buf_o[a]=(unsigned char)((

(int)buf_i[a-1 - width] +

(int)buf_i[a - width] +

(int)buf_i[a+1- width] +

(int)buf_i[a-1 ] +

(int)buf_i[a ] +

(int)buf_i[a+1 ] +

(int)buf_i[a-1 +width] +

(int)buf_i[a +width] +

(int)buf_i[a+1+width]

+4 )/ 9);

}


Wat kunnen we er mee sharpen

Wat kunnen we er mee? (sharpen)

Filter coefficienten:

-1 -1 -1

-1 12 -1

-1 -1 -1


C code for sharpening

C-code for sharpening

for(int a=width+1;a<width*height-(width+1);a++){

result=((

-1* (int)buf_i[a-1 - width] +

-1* (int)buf_i[a - width] +

-1* (int)buf_i[a+1- width] +

-1* (int)buf_i[a-1 ] +

12* (int)buf_i[a ] +

-1* (int)buf_i[a+1 ] +

-1* (int)buf_i[a-1 +width] +

-1* (int)buf_i[a +width] +

-1* (int)buf_i[a+1+width]

+2 )/ 4);

if(result<0) buf_o[a]=0;

else if(result>255) buf_o[a]=255;

else buf_o[a]=result;

}


Wat kunnen we er mee find edges

Wat kunnen we er mee? (find edges)

Filter coefficienten:

-1 -1 -1

-1 8 -1

-1 -1 -1

+128


C code for edge detection

C-code for edge detection

for(int a=width+1;a<width*height-(width+1);a++){

result=(

-1* (int)buf_i[a-1 - width] +

-1* (int)buf_i[a - width] +

-1* (int)buf_i[a+1- width] +

-1* (int)buf_i[a-1 ] +

8* (int)buf_i[a ] +

-1* (int)buf_i[a+1 ] +

-1* (int)buf_i[a-1 +width] +

-1* (int)buf_i[a +width] +

-1* (int)buf_i[a+1+width]

+128);

if (result<0) buf_o[a]=0;

else if (result>255) buf_o[a]=255;

else buf_o[a]=result;

}


Oo2 project beeldbewerking g de haan eh9 27

Enkele praktische tips.


Oo2 project beeldbewerking g de haan eh9 27

Tips

  • Voorkom dat er overflows optreden

    • “Clip” gewogen som b.v. tussen 0 en 255 (range van 1 byte)

  • De efficiëntie test betreft hetzelfde algoritme, maar met andere weegfactoren (filter-coëfficiënten)

  • De plaatjes zijn 406kB

    • Vanwege tijd nodig voor uploaden FPGA slechts deel van 128x128 pixels bewerken

      • 16kB voor input-plaatje en 16kB voor output-plaatje

    • Om resultaat te visualiseren kun je het 128x128 blok van het oorspronkelijke beeld vervangen door het processing-resultaat en met de “view-button” van Windows-applicatie tonen op scherm


Tot slot

Tot slot

  • Deze presentatie komt beschikbaar op de OO2 web-site

  • Zip-file “ImProc.zip op de web-site

    • Enkele plaatjes in .y-formaat

    • Windows applicatie, ImProc.exe, om effect van 3x3 filtering to demonstreren

Image

Processing

Application


  • Login