資源簡介
SSIM函數。衡量兩幅圖像相似度的指標,值越大越好,最大為1。
代碼片段和文件信息
function?[mssim?ssim_map]?=?ssim(img1?img2?K?window?L)
%UNtitleD?Summary?of?this?function?goes?here
%???Detailed?explanation?goes?here
%
%Input?:?(1)?img1:?the?first?image?being?compared
%????????(2)?img2:?the?second?image?being?compared
%????????(3)?K:?constants?in?the?SSIM?index?formula?(see?the?above
%????????????reference).?defualt?value:?K?=?[0.01?0.03]
%????????(4)?window:?local?window?for?statistics?(see?the?above
%????????????reference).?default?widnow?is?Gaussian?given?by
%????????????window?=?fspecial(‘gaussian‘?11?1.5);
%????????(5)?L:?dynamic?range?of?the?images.?default:?L?=?255
%
%Output:?(1)?mssim:?the?mean?SSIM?index?value?between?2?images.
%????????????If?one?of?the?images?being?compared?is?regarded?as
%????????????perfect?quality?then?mssim?can?be?considered?as?the
%????????????quality?measure?of?the?other?image.
%????????????If?img1?=?img2?then?mssim?=?1.
%????????(2)?ssim_map:?the?SSIM?index?map?of?the?test?image.?The?map
%????????????has?a?smaller?size?than?the?input?images.?The?actual?size
%????????????depends?on?the?window?size?and?the?downsampling?factor.
%
%??sic?Usage:
%???Given?2?test?images?img1?and?img2?whose?dynamic?range?is?0-255
%
%???[mssim?ssim_map]?=?ssim(img1?img2);
%
%??vanced?Usage:
%???User?defined?parameters.?For?example
%
%???K?=?[0.05?0.05];
%???window?=?ones(8);
%???L?=?100;
%???[mssim?ssim_map]?=?ssim(img1?img2?K?window?L);
%
%Visualize?the?results:
%
%???mssim????????????????????????%Gives?the?mssim?value
%???imshow(max(0?ssim_map).^4)??%Shows?the?SSIM?index?map
%========================================================================
if?(nargin?2?|?nargin?>?5)
???ssim_index?=?-Inf;
???ssim_map?=?-Inf;
???return;
end
if?(size(img1)?~=?size(img2))
???ssim_index?=?-Inf;
???ssim_map?=?-Inf;
???return;
end
[M?N]?=?size(img1);
if?(nargin?==?2)
???if?((M?11)?|?(N?11))
????ssim_index?=?-Inf;
????ssim_map?=?-Inf;
??????return
???end
???window?=?fspecial(‘gaussian‘?11?1.5);?%
???K(1)?=?0.01;?????%?default?settings
???K(2)?=?0.03;?????%
???L?=?255;?????????????????????????????????????%
end
if?(nargin?==?3)
???if?((M?11)?|?(N?11))
????ssim_index?=?-Inf;
????ssim_map?=?-Inf;
??????return
???end
???window?=?fspecial(‘gaussian‘?11?1.5);
???L?=?255;
???if?(length(K)?==?2)
??????if?(K(1)?0?|?K(2)?0)
?????ssim_index?=?-Inf;
?????ssim_map?=?-Inf;
?????return;
??????end
???else
????ssim_index?=?-Inf;
????ssim_map?=?-Inf;
????return;
???end
end
if?(nargin?==?4)
???[H?W]?=?size(window);
???if?((H*W)?4?|?(H?>?M)?|?(W?>?N))
????ssim_index?=?-Inf;
????ssim_map?=?-Inf;
??????return
???end
???L?=?255;
???if?(length(K)?==?2)
??????if?(K(1)?0?|?K(2)?0)
?????ssim_index?=?-Inf;
?????ssim_map?=?-Inf;
?????return;
??????end
???else
????ssim_index?=?-Inf;
????ssim_map?=?-Inf;
????return;
???end
end
if?(nargin?==?5)
???[H?W]?=?size(window);
???if?((H*W)?4?|?(H?>?M)?|?(W?>?N))
????ssim_
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
????I.A....??????4683??2013-10-14?09:17??ssim.m
-----------?---------??----------?-----??----
?????????????????4683????????????????????1
評論
共有 條評論