我使用以下代码读取图像并将图像与文件夹中的13个图像进行比较,并查找错误并将其导出到Excel。
clear all;
clc;
workspace; % Make sure the workspace panel is showing.
ReferenceImage = imread('F:\R\CS\0.8\0.6\6.jpg');
[rows columns] = size(ReferenceImage);
fpath = fullfile('F:\R\CT\0.0\0.2\','*.jpg');
img_dir = dir(fpath);
for k=1:length(img_dir)
input_image=strcat('F:\R\CT\0.0\0.2\',img_dir(k).name);
noisyImage = imread(input_image);
squaredErrorImage = (double(ReferenceImage) - double(noisyImage)) .^ 2;
mse = sum(sum(squaredErrorImage)) / (rows * columns);
xlswrite('F:\R\DataX.xls',mse,'A1:A13');
PSNR = 10 * log10( 256^2 / mse);
xlswrite('F:\R\DataX.xls',PSNR,'B1:B15');
end
我希望Excel工作表为MSN提供一列,为PSNR提供一列,其中显示每个列的计算错误。
例如Lets Say,
Image Ref and Image 1, MSE =2; PSNR = 3
Image Ref and Image 2, MSE =3; PSNR = 3
Image Ref and Image 3, MSE =2; PSNR = 4
Image Ref and Image 4, MSE =5; PSNR = 8
我希望excel表看起来像
2 3
3 3
2 4
5 8
但相反,我正在创建的表单正在重复这些数字。请帮忙。