Diferență între revizuiri ale paginii „Proiect SDA 2014-2015”
Linia 21: | Linia 21: | ||
filtru.exe enb.pgm enb_filtered.pgm qs 3 | filtru.exe enb.pgm enb_filtered.pgm qs 3 | ||
− | Această comandă va rula filtrul cu o fereastră de 3 x 3 pixeli, folosind quick sort pentru sortare pe fișierul de intrare '''enb.pgm''' și va | + | Această comandă va rula filtrul cu o fereastră de 3 x 3 pixeli, folosind quick sort pentru sortare pe fișierul de intrare '''enb.pgm''' și va scrie rezultatul în '''enb_filtered.pgm'''. |
− | |||
− | |||
+ | Programul va afisa în consolă timpul de execuție la finalul rulării. | ||
+ | Se va răspunde la următoarele întrebări: | ||
+ | * Care algoritm de sortare e mai eficient din punct de vedere al timpului de execuție pentru o fereastră de 3 x 3? Dar pentru una de 20 x 20? | ||
+ | * Care este complexitatea în timp, în funcție de dimensiunea imaginii (m) și a ferestrei (n)? | ||
+ | * Care este dimensiunea maximă a ferestrei pentru care imaginea filtrată poate fi încă recunoscută? | ||
− | + | În plus, pentru fiecare din cei trei algoritmi de sortare, se va realiza un grafic al timpului de execuție în funcție de dimensiunea ferestrei în intervalul (3 x 3) - (20 x 20). | |
+ | |||
+ | <!-- | ||
You should then apply the filtering procedure to the enb.pgm file, which is a noisy image of the Engineering Building II. To download the image, point the mouse, click the right button, and then select "Save Link As" or "Save Target As" in the resulting menu. To apply the filtering, compile median and use the following syntax to run it: | You should then apply the filtering procedure to the enb.pgm file, which is a noisy image of the Engineering Building II. To download the image, point the mouse, click the right button, and then select "Save Link As" or "Save Target As" in the resulting menu. To apply the filtering, compile median and use the following syntax to run it: |
Versiunea de la data 29 iunie 2015 14:38
Descriere
Scopul acestui proiect este realizarea unei aplicații care să aplice un filtru median pe o imagine. Aceasta este o tehnică folosită pentru a uniformiza o imagine cu zgomot. Pentru fiecare pixel din imagine, filtrarea constă în selectarea unei ferestre de n x n pixeli, centrată pe pixelul sursă, calcularea medianei nivelurilor de gri din fereastră, și înlocuirea pixelului original cu valoarea mediană. Mediana este definită ca valoarea din mijlocul secvenței sortate. De exemplu, pentru următoarea fereastră de 3 x 3:
11 90 74 71 14 92 20 87 68
Secvența sortată a acestor pixeli este <11, 14, 20, 68, 71, 74, 87, 90, 92>, iar valoarea din mijloc este 71, care este valoarea mediană a acestei ferestre. Prin urmare, procedura de filtrare va înlocui valoarea din centrul ferestrei (14) cu valoarea mediană: 71.
Rezultatul înlocuirii tuturor pixelilor din imagine cu valorile mediane este o imagine uniformizată, aproape fără zgomot de fundal, lucru care îmbunătățește performanțele algoritmilor de recunoaștere de imagini. Partea negativă este că în noua imagine se pierd detaliile.
Cerință
Programul vostru trebuie să citească o imagine în format PGM, să aplice o filtrare mediană cu fereastă de n x n (cu n specificat la execuția programului) folosind un algoritm de sortare specificat tot la execuție, și să scrie imaginea rezultată într-un fișier nou. Dacă fișierul executabil obținut la compilare se numește filtru.exe, atunci programul va fi rulat astfel:
filtru.exe <fisier_intrare> <fisier_iesire> [ins|qs|cnt] <n>
Unde ins - insertion sort, qs - quick sort, cnt - counting sort, iar n este dimensiunea ferestrei. Spre exemplu:
filtru.exe enb.pgm enb_filtered.pgm qs 3
Această comandă va rula filtrul cu o fereastră de 3 x 3 pixeli, folosind quick sort pentru sortare pe fișierul de intrare enb.pgm și va scrie rezultatul în enb_filtered.pgm.
Programul va afisa în consolă timpul de execuție la finalul rulării.
Se va răspunde la următoarele întrebări:
- Care algoritm de sortare e mai eficient din punct de vedere al timpului de execuție pentru o fereastră de 3 x 3? Dar pentru una de 20 x 20?
- Care este complexitatea în timp, în funcție de dimensiunea imaginii (m) și a ferestrei (n)?
- Care este dimensiunea maximă a ferestrei pentru care imaginea filtrată poate fi încă recunoscută?
În plus, pentru fiecare din cei trei algoritmi de sortare, se va realiza un grafic al timpului de execuție în funcție de dimensiunea ferestrei în intervalul (3 x 3) - (20 x 20).