technische universiteit eindhoven 1 1 OO2-project: Beeldbewerking G. de Haan EH9.27
technische universiteit eindhoven 2 2 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
technische universiteit eindhoven 3 3 Waar gaat het over?
technische universiteit eindhoven Hz 2:1 60 Hz 2:1 100 Hz 2:1 72 Hz 1:1 85 Hz 1:1 95 Hz 1:1 CIF QCIF 1-25Hz 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 Video processing in ES Flat panel displays WEB This is our field
technische universiteit eindhoven 5 5 Voorbeeld werk in vakgroep ES: bewegingsschatting
technische universiteit eindhoven 6 6 Wat is een beeld?
technische universiteit eindhoven 7 7 Een (z/w) beeld is een matrix van helderheidswaarden 400 pixels/lijn 300 lijnen 40 pixels/lijn 30 lijnen Meer pixels betere beeldkwaliteit
technische universiteit eindhoven 8 8 Hoe sla je een beeld op?
technische universiteit eindhoven 9 9 Beeld in een 1-dimensionaal pixel-array 0 width Width*height Address: [y*width+x] x y
technische universiteit eindhoven 10 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
technische universiteit eindhoven 11 Het input bestand met beeld data (name.y format) File: {byte 0,byte 1,……..byte n, byte width*height } Pixel linksboven Pixel rechtsonder Voorbeeld: Twee pixels boven elkaar b.v.: byte n en byte n+width bicycle.y football.y
technische universiteit eindhoven 12 De opdracht: Een 3x3 filter
technische universiteit eindhoven 13 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 3x3filter Voorbeeld: filter coefficienten allemaal “1”
technische universiteit eindhoven 14 Wat kan je ermee?
technische universiteit eindhoven 15 Wat kunnen we er mee? (blur) Filter coefficienten:
technische universiteit eindhoven 16 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); }
technische universiteit eindhoven 17 Wat kunnen we er mee? (sharpen) Filter coefficienten:
technische universiteit eindhoven 18 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; }
technische universiteit eindhoven 19 Wat kunnen we er mee? (find edges) Filter coefficienten:
technische universiteit eindhoven 20 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; }
technische universiteit eindhoven 21 Enkele praktische tips.
technische universiteit eindhoven 22 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
technische universiteit eindhoven 23 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