Matlab codes to find MSE of many images against one

조회 수: 2 (최근 30일)
Abdulmu'min Musa
Abdulmu'min Musa 2019년 7월 25일
편집: KALYAN ACHARJYA 2019년 11월 12일
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);

채택된 답변

KALYAN ACHARJYA
KALYAN ACHARJYA 2019년 7월 25일
편집: KALYAN ACHARJYA 2019년 7월 31일
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
simarjit kaur
simarjit kaur 2019년 11월 12일
this code correctly run bt not show any output
plz hlp me sir
KALYAN ACHARJYA
KALYAN ACHARJYA 2019년 11월 12일
편집: KALYAN ACHARJYA 2019년 11월 12일
Please do share (detail).

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by