資源簡介
ssim圖像評價指標的matlab實現,附帶詳細的解釋說明,并測試函數

代碼片段和文件信息
function?[mssim?ssim_map]?=?ssim(img1?img2?K?window?L)
%SSIM?Index?Version?1.0
%Copyright(c)?2003?Zhou?Wang
%All?Rights?Reserved.
%
%The?author?was?with?Howard?Hughes?Medical?Institute?and?Laboratory
%for?Computational?Vision?at?Center?for?Neural?Science?and?Courant
%Institute?of?Mathematical?Sciences?New?York?University?USA.?He?is
%currently?with?Department?of?Electrical?and?Computer?Engineering
%University?of?Waterloo?Canada.
%
%This?is?an?implementation?of?the?algorithm?for?calculating?the
%Structural?SIMilarity?(SSIM)?index?between?two?images.?Please?refer
%to?the?following?paper:
%
%Z.?Wang?A.?C.?Bovik?H.?R.?Sheikh?and?E.?P.?Simoncelli?“Image
%quality?assessment:?From?error?measurement?to?structural?similarity“
%IEEE?Transactios?on?Image?Processing?vol.?13?no.?4?Apr.?2004.
%----------------------------------------------------------------------
%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:
%????????????size(img1)?-?size(window)?+?1.
%Default?Usage:
%???Given?2?test?images?img1?and?img2?whose?dynamic?range?is?0-255
%???[mssim?ssim_map]?=?ssim_index(img1?img2);
%
%Advanced?Usage:
%???User?defined?parameters.?For?example
%
%???K?=?[0.05?0.05];
%???window?=?ones(8);
%???L?=?100;
%???K?=?[0.01?0.03];
%???window?=?ones(8);
%???L?=?255;
%???[mssim?ssim_map]?=?ssim_index(img1?img2?K?window?L);
%
%See?the?results:
%
%???mssim????????????????????????%Gives?the?mssim?value
%???imshow(max(0?ssim_map).^4)??%Shows?the?SSIM?index?map
%
%========================================================================
if?(nargin?2?||?nargin?>?5)????????%參數個數小于2個或者大于5個則退出
???mssim?=?-Inf;
???ssim_map?=?-Inf;
???return;
end
if?(size(img1)?~=?size(img2))???%對比的兩幅圖大小要一致,否則退出
???mssim?=?-Inf;
???ssim_map?=?-Inf;
???return;
end
[M?N]?=?size(img1);?????????%將圖1的大小賦值給M?N
if?(nargin?==?2)????????????%參數為2時
???if?((M?11)?||?(N?11))?%圖像長寬都不能小于11,否則退出
????????mssim?=?-Inf;
????????ssim_map?=?-Inf;
????????return
???end
???window?=?fspecial(‘gaussian‘?11?1.5);?%建立預定義的濾波算子。
???%為高斯低通濾波,有兩個參數,hsize表示模板尺寸,默認值為[3?3],sigma為濾波器的標準值,單位為像素,默認值為0.5
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????6281??2017-10-29?10:56??ssim.m
?????文件?????????520??2017-10-29?10:57??ssimTest.m
評論
共有 條評論