% 要求,原图和新图片文件名、后缀、大小相同
% 若上述条件不同可根据自己要求酌情修改
% Author:Lhy
% 读取所有文件名,方便后续遍历(可以换后缀,这里为jpg)
imgList = dir("E:\外观缺陷检测\进展及数据记录\3.11-3.17\neu-det_v7多尺度top-hat变换\jpg\all\*.jpg");
% 原图片文件夹
originList = "E:\外观缺陷检测\进展及数据记录\3.4-3.10\neu-def_v7\images\all\";
% 新图片文件夹
tophatList = "E:\外观缺陷检测\进展及数据记录\3.11-3.17\neu-det_v7多尺度top-hat变换\jpg\all\";
% 提取name的cell
[imgList] = {imgList.name};
Allpsnr = [];
Allssim = [];
% 遍历文件名
for imgName = imgList
% cell转str
imgName = imgName{1,1};
% 读取图片
thimg = imread(tophatList + imgName);
ogimg = imread(originList + imgName);
% 计算psnr和ssim,存在数组里
psnr_single = psnr(thimg, ogimg);
Allpsnr = [Allpsnr, psnr_single];
ssim_single = ssim(thimg, ogimg);
Allssim = [Allssim, ssim_single];
end
% 计算长度(防止漏了)和psnr、ssim平均值
psnr_len = length(Allpsnr)
ssim_len = length(Allssim)
meanPSNR = mean(Allpsnr)
meanSSIM = mean(Allssim)