Sera ragazzi,
scusate il lungo periodo di assenza ma in questo periodo sono molto impegnato con l'uni.
Sono qui perchè ho un piccolo problema. Qualcuno ha mai avuto a che fare con l'elaborazione di immagini? Devo scalare uno sprite per un videogioco (ma una immagine qualunque fa lo stesso) per fare in modo che si ridimensioni in base alla grandezza della finestra. Non posso usare nessuna libreria ad hoc, nessun motore grafico, niente di niente. Solo C++ ed una libreria multimediale (SFML). Per fare questo sto immaginando l'immagine come una serie di punti in uno spazio euclideo a due dimensioni. Essendo una immagine raster, in caso di trasformazioni geometriche questa è soggetta a perdita di qualità.
Per scalare l'immagine e ricostruire i colori avevo pensato di usare l'interpolazione che mi permette approssimare il valore di una funzione nell' intorno di un punto. Essendo l'immagine in un piano a due dimensioni ho pensato ad una interpolazione bilineare (semplicemente una interpolazione lineare ma in funzione di due variabili, in questo caso x ed y, gli assi del piano) che dato un punto -in questo caso sarebbe il pixel- analizza i pixel più vicini per trovare il miglior valore RGB per quel punto. Parlando con un ragazzo però, è uscita fuori l'interpolazione nearest-neighbor che a differenza della bilineare dovrebbe essere più semplice da implementare. Ora sono ancora più confuso di prima, quale sistema secondo voi è più preciso? Avete qualche suggerimento?