La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA Lab 5: 18 Maggio 2015 Marco D. Santambrogio – Gianluca Durelli –

Presentazioni simili


Presentazione sul tema: "DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA Lab 5: 18 Maggio 2015 Marco D. Santambrogio – Gianluca Durelli –"— Transcript della presentazione:

1 DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA Lab 5: 18 Maggio 2015 Marco D. Santambrogio – marco.santambrogio@polimi.it Gianluca Durelli – durellinux@gmail.com Ver. aggiornata al 17 Maggio 2015

2 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEObiettivi Esercitarsi sui costrutti visti a lezione  Tutto il C visto fino a qui  In particolare: File 2

3 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEEsercizi Es0: Filtro 0 Es1: Filtro 1 Es2: Copia Immagine Es3: Canali Immagine Es4: Filtro Media Mobile 3

4 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 0: Filtro 0 Scrivere un programma che  legga da file un insieme di punti di un grafico (X,Y)  scriva su di un altro file (nello stesso formato) tutti e soli i punti con un valore di Y maggiore di una soglia impostata dall'utente. File es0.txt : ogni riga contiene i dati in questo formato (X,Y) Salvare inoltre i risultati in un file binario nel seguente modo:  All'inizio vi e' una variabile intera che dice quanti sono gli elementi  poi un array di elementi di questo tipo: struct punto{ float X; float Y; } 4

5 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 0: Filtro 0 5

6 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 0: Filtro 0 – Leggi Txt 6

7 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 0: Filtro 0 – Scrivi Txt 7

8 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 0: Filtro 0 – Leggi Dat 8

9 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 0: Filtro 0 – Scrivi Dat 9

10 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 0: Filtro 0 – Stampa Dati 10

11 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 0: Filtro 0 – Filtro 11

12 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 1: Filtro 1 A partire dal file es1.txt (formato: tempo,valore) scrivere un programma  filtri tutti i valori che appartengono ad un dato intervallo di tempo  Scrivere poi su di un file in uscita tutti i valori trovati. 12

13 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 2 e 3: Immagini BMP Un immagine BMP e' un immagine con 3 canali di colore R, G, B (rosso, verde, blue). Ogni pixel e' quindi rappresentato dalla terna RGB I tre canali possono assumere solo valori da 0 a 255 (sono quindi salvati con dei char). I primi 54 bytes sono una specifica delle dimensioni, schema colore ed altre informazioni dell'immagine (non codificano le informazioni di colore sui pixel). I restanti bytes (NUMERO PIXELS * 3) rappresentano le informazioni sui 3 canali disponibili Usare solo fread ed fwrite per letture e scritture in quanto l'immagine non e' un formato testuale. L'immagine in ingresso e' formata da 800*600 pixels. 13

14 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 2: Copia Immagine Scrivere un programma che legga l'immagine es2.bmp in ingresso e la scriva in uscita nel file es2_result.bmp Per fare questo si proceda a:  Leggere i primi 54 bytes e salvarli in un array HEADER (char HEARDER[54])  Leggere i successivi PIXEL * 3 bytes e salvarli in un secondo array IMAGE (char IMAGE[PIXELS * 3])  Scrivere sul file di uscita l'array HEADER  Scrivere sul file di uscita l'array IMAGE Se le operazioni sono state effettuate correttamente l'immagine di uscita risulta uguale a quella di ingresso. 14

15 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 3: Canali Immagine Se ai valori RGB di un pixel si sostituiscono i valori di un singolo canale, si otterra' in uscita solo quel canale. Se si vuole il canale rosso si deve sostituire quindi ad ogni pixel al posto di RGB, R 0 0 (ovvero il canale corrisponedente al rosso viene mantenuto e gli altri vengono posti a 0). Scrivere un programma che legga l'immagine es2.bmp e crei 3 diverse immagini ognuna contenente uno dei 3 canali.  Immagine dei rossi dove il valore corrispondente a B e G sono messi a 0  Immagine dei verdi dove il valore corrispondente a R e B sono messi a 0  Immagine dei blue dove il valore corrispondente a R e G sono messi a 0 15

16 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Exe 4: Filtro Media Mobile A partire dal file es1.txt (formato: tempo,valore) scrivere un programma che:  Legga la sequenza contenuta nel file  La filtri con una media mobile  Scriva il risultato in es4_result.txt La media mobile e' una media effettuata su una determinata finestra temporale. Fissando la dimensione della finestra ad un determinato numero di punti (scelto dall’utente) della vostra sequenza, il punto in uscita corrisponde alla media dei punti presenti nella finestra. Supponendo che la finestra sia di 3 elementi (il valore segnato con O, viene sostituito dalla media di quelli appartenenti alla finestra):  Tempo : 1 2 3 4 5 6  Valore: 10 20 30 40 20 30  Passi : X O X X O X  Uscita: 10 20 30 30 30 30 16

17 DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE BUON LAVORO! 17


Scaricare ppt "DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA Lab 5: 18 Maggio 2015 Marco D. Santambrogio – Gianluca Durelli –"

Presentazioni simili


Annunci Google