Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2023-24 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2023-24 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

Poco chiarimento sulla codifica? HW6

lwcs (1380 points)
6 16 26
in HW6 obbligatorio by (1.4k points)
Buonasera, leggendo i vari post trovo un po difficoltoso capire effettivamente cosa richiede il programma per quanto riguarda la compressione dell'immagine.

Assumiamo che abbiamo trovato i valori x,y,w,h,C di ogni rettangolo,li abbiamo tutti.

Esempio per un rettangolo trovato: x = 18 , y= 16 ,w = 20, h = 21, C=(150,120,80)

nell immagine (lista) codificata da questi dati ci sarà una riga(lista) per ogni rettangolo colorato esistente nell' immagine da analizzare, ed ogni riga dovrà contenere 5 tuple, ogni tupla 3 interi con numeri che vanno da 0 a 255,e questi 3 interi della tupla se messi uno accanto all'altro (non sommati) dovrebbero restituire esattamente il valore,ad esempio il valore x da quella tupla.

Ora la mia domanda è: prendiamo che voglio codificare la x,cioè il numero 18,che calcolo dovrei fare? Poi il numero intero che dovrebbe venir fuori deve per forza essere formato da 3 cifre oppure basta che lo suddivido in tre interi a piacimento per creare un pixel? E poi, se x fosse 0, la tupla dovrà essere (0,0,0) ?
519 views
closed

1 Answer

Best answer
twgever (17470 points)
8 29 105
by (17.5k points)
selected by
il numero 18 sarebbe (0,0,18), il numero 257 sarebbe (0,1,1) ecc.

Devi considerarei numeri della tupla come un unico numero, cioè (1,2,3) diventa 123, (18,18,18) diventa 18 18 18.

Il problema è, cosa rappresenta la tupla? la tupla rappresenta il numero che vogliamo (facciamo 257) in base 256. infatti (0,1,1) si traduce in decimale così: 0*(256^2)+1*(256^1)+1(256^0), cioè 256+1.

Se avessimo come tupla (120,12,200), il numero in decimale sarebbe 120*(256**2)+12*(256^1)+200*(256^0). Abbastanza chiaro?
AdSum (16290 points)
9 20 134
by (16.3k points)
Stavo impazzendo anche io a capire il concetto, ottima spiegazione, grazie mille.
twgever (17470 points)
8 29 105
by (17.5k points)
Dopo la spiegazione con le Ferrari, è il minimo che posso fare lol
lwcs (1380 points)
6 16 26
by (1.4k points)
Grazie twgever! Non era davvero di facile comprensione questo passaggio.
c
c.giannobile (660 points)
0 2 6
by (660 points)
Grande, grazie mille