资源简介
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
相关资源
- OCR MATLAB OCR中英文段落的提取、分割
- matlab的流体计算和传热
- Fuzzy Neural Network by matlab 四个不同的
- 手机拍摄图像的二维码的提取
- 利用四元数对彩色图像作图像处理
- LBP方法
- 织物疵点检测和识别系统
- SAO星表数据
- 粒子群算法路径规划动画演示
- 新型的配电网潮流计算的matlab源码
- 雷达交叉定位精度分析
- 磁流变减震器模型
- D2D的自适应链路仿真
- matlab实现的读取视频和音频
- matlab平台DCT算法压缩视频
- Softmax 函数处理
- 《精通Matlab数字图像处理与识别》(
- 5阶WENO有限差分法求解Sod型激波管问题
- foa 果蝇优化算法matlab程序
- CA元胞自动机源代码
- 应用条件随机场CRF 知识分割图像
- PSOGSA_v3
- 发动机悬置系统解耦率、固有频率以
- G-S算法matlab程序源代码
- DATCOM弹道计算工具
- matlab实现节点定位的三边定位算法
- CLAHE的matlab实现算法
- chan算法的源代码
- calculateuserposition 用MATLAB编写求解伪距
- ELM算法进行遥感图像分类
评论
共有 条评论