OverflowError: unsigned byte integer is greater than maximum

dolcetto_gommoso (2790 points)
3 6 18
asked Nov 24, 2020 in HW6 obbligatorio by dolcetto_gommoso (2,790 points)
recategorized Nov 24, 2020 by andrea.sterbini

Salve a tutti...

come va con l'hw? spero bene 

Io sono arrivato al punto di esser riuscito a finire, ma mi da questo errore quando faccio il save

OverflowError: unsigned byte integer is greater than maximum

Ho provato a printare la matrice con l'immagine ed è scritta bene, quindi non capisco perchè io abbia questo errore

Se qualcuno riesce a darmi una risposta ne sarei molto riconoscenteheart

262 views

4 Answers

G
Giuseppe01 (1500 points)
0 0 10
answered Nov 24, 2020 by Giuseppe01 (1,500 points)
Ciao, l'overflow error indica che un valore non può essere rappresentato con i bit a disposizione.

Ricorda che i valori che inserisci nelle tuple (quelle scritte nella matrice da salvare su disco) devono rientrare nel range dei canali del formato RGB, quindi [0, 255]. Probabilmente hai un qualche valore >= 256 all'interno della matrice.
S
SamueleQ (2640 points)
1 2 4
answered Nov 24, 2020 by SamueleQ (2,640 points)
Quando effettui la conversione devi avere valori che siano da (0,0,0) a (255,255,255), altrimenti il programma non riesce a realizzare la conversione.
andrea.sterbini (172780 points)
513 935 1789
answered Nov 24, 2020 by andrea.sterbini (172,780 points)

Si può sapere cosa vi costa mettere le domande nella categoria giusta? angry

1
1937764 (3520 points)
6 14 42
answered Nov 24, 2020 by 1937764 (3,520 points)

Ricordati di convertire i valori numerici in base 256.

Esempio:

5 => (0,0,5)

Uno potrebbe pensare di fare (0,0,numero) e invece no!

Perché ad esempio 300 ≠ (0,0,300), perché se la base è 256 le cifre vanno da 0 a 255.

Quindi sarà (0,1,44) perché infatti (256**2 * 0) + (256**1 * 1) + (256**0 * 44) = 300, i conti tornano.