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

Do you need help?

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) ?
508 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