Matlab: Problema Ciclo for imread
Salve a tutti,
mi servirebbe capire come creare uno script per leggere tutte le immagini in una cartella.
ad esempio Lena1.bmp; Lena2.bmp; Lena3.bmp e Lena1_blended.bmp; Lena2_blended.bmp; Lena3_blended.bmp
per poi calcolarci delle metriche di qualità
nello script che ho scritto io
for i = 1:3
img1 = imread(strcat('Lena',int2str(i),'.bmp'));
img2 = imread(strcat('Lena',int2str(i),'_blended','.bmp'));
psnr = psnr(img1,img2)
end
mi sembra che legga tutte le immagini ma mi considera la metrica del psnr solo sull'ultima.
potreste aiutarmi a scrivere correttamente lo script per leggere un ciclo for dove mi legga
Lena1.bmp e Lena1_blended.bmp
e calcolarmi correttamente il psnr di Lena1.bmp e Lena1_blended.bmp
mi servirebbe capire come creare uno script per leggere tutte le immagini in una cartella.
ad esempio Lena1.bmp; Lena2.bmp; Lena3.bmp e Lena1_blended.bmp; Lena2_blended.bmp; Lena3_blended.bmp
per poi calcolarci delle metriche di qualità
nello script che ho scritto io
for i = 1:3
img1 = imread(strcat('Lena',int2str(i),'.bmp'));
img2 = imread(strcat('Lena',int2str(i),'_blended','.bmp'));
psnr = psnr(img1,img2)
end
mi sembra che legga tutte le immagini ma mi considera la metrica del psnr solo sull'ultima.
potreste aiutarmi a scrivere correttamente lo script per leggere un ciclo for dove mi legga
Lena1.bmp e Lena1_blended.bmp
e calcolarmi correttamente il psnr di Lena1.bmp e Lena1_blended.bmp
Risposte
Partendo dal presupposto che non so cosa sia una metrica psnr (ma non penso sia utile per il problema che hai tu), vorrei farti osservare che giustamente il programma come l'hai scritto te salva solo l'ultima esecuzione della function psnr.
Dovresti mettere un'indice per la variabile psnr
Dovresti mettere un'indice per la variabile psnr
for i = 1:3 img1 = imread(strcat('Lena',int2str(i),'.bmp')); img2 = imread(strcat('Lena',int2str(i),'_blended','.bmp')); psnr(i) = psnr(img1,img2) end