Matlab codes to find MSE of many images against one
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Abdulmu'min Musa
le 25 Juil 2019
Modifié(e) : KALYAN ACHARJYA
le 12 Nov 2019
I know how to get the MSE(Mean Square Error) of one image against one image, but how can i do it to get the MSE of many images against one image which serve as the template?
The Matlab code below is the i use to get the MSE of one image against one image, how can i adjust it to solve my problem?
InputImage=imread('7-6.jpg');
ReconstructedImage=imread('7-6a.jpg');
n=size(InputImage);
M=n(1);
N=n(2);
MSE = sum(sum((InputImage-ReconstructedImage).^2))/(M*N)
PSNR = 10*log10(256*256/MSE)
fprintf('\nMSE: %7.2f ', MSE);
fprintf('\nPSNR: %9.2f dB', PSNR);
0 commentaires
Réponse acceptée
KALYAN ACHARJYA
le 25 Juil 2019
Modifié(e) : KALYAN ACHARJYA
le 31 Juil 2019
MSE_data=[];
PSNR_data=[];;
Images=dir('C:\Complete_path\Input_folder_name\*.png');
%................Input Images, Note on .format...^^
ReconstructedImage=imread('7-6a.jpg');
for i=1:length(Images)
ImgName=strcat('C:\Complete_path\Input_folder_name\',Images(i).name);
InputImage=imread(ImgName);
n=size(InputImage);
M=n(1);
N=n(2);
MSE_data(i)= sum(sum((InputImage-ReconstructedImage).^2))/(M*N);
PSNR_data(i)= 10*log10(256*256/MSE(i));
fprintf('\nMSE: %7.2f ', MSE_data(i));
fprintf('\nPSNR: %9.2f dB', PSNR_data(i));
end
Also, here you are saving MSE and PSNR of all images in arrays, you can acess it later in your code.
14 commentaires
KALYAN ACHARJYA
le 12 Nov 2019
Modifié(e) : KALYAN ACHARJYA
le 12 Nov 2019
Please do share (detail).
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!