Oggi lavorando con gli esercizi di esame relativi alla elaborazione di immagini mi sono scontrato molteplici volte con l'errore riportato in titolo:
inizialmente ho sospettato che fosse un problema della matrice, come per esempio: una riga con un valore di troppo oppure i tipi dei dati forniti errati, ma scrivendo l'immagine su un file .txt per verificare il nummero di colonne e di righe ma anche il tipo dei dati, tutto sembra risulta corretto, cioè ogni riga ha la stessa lunghezza, tutti i valori nelle righe sono tuple, la matrice è in forma: list[ list [ tuple() ] ].
Vi lascio lo StackTrace per sicurezza:
Traceback (most recent call last):
File "C:\Users\trast\Desktop\Università\Esercizi_py\esercitazione-23-12-2020\program.py", line 221, in <module>
ex2(P1,"sei.png")
File "C:\Users\trast\Desktop\Università\Esercizi_py\esercitazione-23-12-2020\program.py", line 143, in ex2
images.save(matrix, fname)
File "C:\Users\trast\Desktop\Università\Esercizi_py\esercitazione-23-12-2020\images.py", line 30, in save
pngimg.save(filename)
File "C:\Users\trast\Desktop\Università\Esercizi_py\esercitazione-23-12-2020\png.py", line 1279, in save
w.write(file, self.rows)
File "C:\Users\trast\Desktop\Università\Esercizi_py\esercitazione-23-12-2020\png.py", line 620, in write
nrows = self.write_passes(outfile, rows)
File "C:\Users\trast\Desktop\Università\Esercizi_py\esercitazione-23-12-2020\png.py", line 789, in write_passes
compressed = compressor.compress(tostring(data))
File "C:\Users\trast\Desktop\Università\Esercizi_py\esercitazione-23-12-2020\png.py", line 197, in tostring
return row.tostring()
AttributeError: 'array.array' object has no attribute 'tostring'