SSIM(structural similarity index),结构相似性
ssim算法原理 - 我们都不是神的孩子 - CSDN博客 http://blog.csdn.net/ecnu18918079120/article/details/60149864
一、结构相似性(structural similarity)
二、SSIM指数
三、SSIM指数应用于图像质量评估
- function [mssim, ssim_map,siga_sq,sigb_sq] = SSIM(ima, imb)
- % ========================================================================
- %ssim的算法主要参考如下论文:
- %Z. Wang, A. C. Bovik, H. R. Sheikh, and E. P. Simoncelli, "Image
- % quality assessment: From error visibility to structural similarity,"
- % IEEE Transactios on Image Processing, vol. 13, no. 4, pp. 600-612,
- % Apr. 2004.
- % 首先对图像加窗处理,w=fspecial('gaussian', 11, 1.5);
- % (2*ua*ub+C1)*(2*sigmaa*sigmab+C2)
- % SSIM(A,B)=————————————————————————
- % (ua*ua+ub*ub+C1)(sigmaa*sigmaa+sigmab*sigmab+C2)
- % C1=(K1*L);
- % C2=(K2*L); K1=0.01,K2=0.03
- % L为灰度级数,L=255
- %-------------------------------------------------------------------
- % ima - 比较图像A
- % imb - 比较图像B
- %
- % ssim_map - 各加窗后得到的SSIM(A,B|w)组成的映射矩阵
- % mssim - 对加窗得到的SSIM(A,B|w)求平均,即最终的SSIM(A,B)
- % siga_sq - 图像A各窗口内灰度值的方差
- % sigb_sq - 图像B各窗口内灰度值的方差
- %-------------------------------------------------------------------
- % Cool_ben
- %========================================================================
- w = fspecial('gaussian', 11, 1.5); %window 加窗
- K(1) = 0.01;
- K(2) = 0.03;
- L = 255;
- ima = double(ima);
- imb = double(imb);
- C1 = (K(1)*L)^2;
- C2 = (K(2)*L)^2;
- w = w/sum(sum(w));
- ua = filter2(w, ima, 'valid');%对窗口内并没有进行平均处理,而是与高斯卷积,
- ub = filter2(w, imb, 'valid'); % 类似加权平均
- ua_sq = ua.*ua;
- ub_sq = ub.*ub;
- ua_ub = ua.*ub;
- siga_sq = filter2(w, ima.*ima, 'valid') - ua_sq;
- sigb_sq = filter2(w, imb.*imb, 'valid') - ub_sq;
- sigab = filter2(w, ima.*imb, 'valid') - ua_ub;
- ssim_map = ((2*ua_ub + C1).*(2*sigab + C2))./((ua_sq + ub_sq + C1).*(siga_sq + sigb_sq + C2));
- mssim = mean2(ssim_map);
- return
一、结构相似性(structural similarity)
二、SSIM指数
三、SSIM指数应用于图像质量评估
- function [mssim, ssim_map,siga_sq,sigb_sq] = SSIM(ima, imb)
- % ========================================================================
- %ssim的算法主要参考如下论文:
- %Z. Wang, A. C. Bovik, H. R. Sheikh, and E. P. Simoncelli, "Image
- % quality assessment: From error visibility to structural similarity,"
- % IEEE Transactios on Image Processing, vol. 13, no. 4, pp. 600-612,
- % Apr. 2004.
- % 首先对图像加窗处理,w=fspecial('gaussian', 11, 1.5);
- % (2*ua*ub+C1)*(2*sigmaa*sigmab+C2)
- % SSIM(A,B)=————————————————————————
- % (ua*ua+ub*ub+C1)(sigmaa*sigmaa+sigmab*sigmab+C2)
- % C1=(K1*L);
- % C2=(K2*L); K1=0.01,K2=0.03
- % L为灰度级数,L=255
- %-------------------------------------------------------------------
- % ima - 比较图像A
- % imb - 比较图像B
- %
- % ssim_map - 各加窗后得到的SSIM(A,B|w)组成的映射矩阵
- % mssim - 对加窗得到的SSIM(A,B|w)求平均,即最终的SSIM(A,B)
- % siga_sq - 图像A各窗口内灰度值的方差
- % sigb_sq - 图像B各窗口内灰度值的方差
- %-------------------------------------------------------------------
- % Cool_ben
- %========================================================================
- w = fspecial('gaussian', 11, 1.5); %window 加窗
- K(1) = 0.01;
- K(2) = 0.03;
- L = 255;
- ima = double(ima);
- imb = double(imb);
- C1 = (K(1)*L)^2;
- C2 = (K(2)*L)^2;
- w = w/sum(sum(w));
- ua = filter2(w, ima, 'valid');%对窗口内并没有进行平均处理,而是与高斯卷积,
- ub = filter2(w, imb, 'valid'); % 类似加权平均
- ua_sq = ua.*ua;
- ub_sq = ub.*ub;
- ua_ub = ua.*ub;
- siga_sq = filter2(w, ima.*ima, 'valid') - ua_sq;
- sigb_sq = filter2(w, imb.*imb, 'valid') - ub_sq;
- sigab = filter2(w, ima.*imb, 'valid') - ua_ub;
- ssim_map = ((2*ua_ub + C1).*(2*sigab + C2))./((ua_sq + ub_sq + C1).*(siga_sq + sigb_sq + C2));
- mssim = mean2(ssim_map);
- return
SSIM(structural similarity index),结构相似性的更多相关文章
- SSIM (Structural SIMilarity) 结构相似性
公式基于样本x和 y 之间的三个比较衡量:亮度 (luminance).对比度 (contrast) 和结构 (structure). 每次计算的时候都从图片上取一个 N*N的窗口,然后不断滑动窗口进 ...
- python Mean Squared Error vs. Structural Similarity Measure两种算法的图片比较
# by movie on 2019/12/18 import matplotlib.pyplot as plt import numpy as np from skimage import meas ...
- MATLAB 均方根误差MSE、两图像的信噪比SNR、峰值信噪比PSNR、结构相似性SSIM
今天的作业是求两幅图像的MSE.SNR.PSNR.SSIM.代码如下: clc; close all; X = imread('q1.tif');% 读取图像 Y=imread('q2.tif'); ...
- Paper | BLIND QUALITY ASSESSMENT OF COMPRESSED IMAGES VIA PSEUDO STRUCTURAL SIMILARITY
目录 1. 技术细节 1.1 得到MDI 1.2 判别伪结构,计算伪结构相似性 2. 实验 动机:作者认为,基于块的压缩会产生一种伪结构(pseudo structures),并且不同程度压缩产生的伪 ...
- C# 中 System.Index 结构体和 Hat 运算符(^)的全新用法
翻译自 John Demetriou 2019年2月17日 的文章 <C# 8 – Introducing Index Struct And A Brand New Usage For The ...
- 体验SRCNN和FSRCNN两种图像超分网络应用
摘要:图像超分即超分辨率,将图像从模糊的状态变清晰. 本文分享自华为云社区<图像超分实验:SRCNN/FSRCNN>,作者:zstar. 图像超分即超分辨率,将图像从模糊的状态变清晰.本文 ...
- OpenCV进行图像相似度对比的几种办法
转载请注明出处:http://blog.csdn.net/wangyaninglm/article/details/43853435, 来自:shiter编写程序的艺术 对计算图像相似度的方法,本文做 ...
- 图像质量评价方法PSNR+SSIM&&评估指标SROCC,PLCC
update:2018-04-07 今天发现ssim的计算里面有高斯模糊,为了快速计算,先对每个小块进行计算,然后计算所有块的平均值.可以参考源代码实现,而且代码实现有近似的在里面!matlab中中图 ...
- 图像处理结果的度量 —— SNR、PSNR、SSIM
衡量两幅图像的相似度: SNR/PSNR SSIM 1. SNR vs PSNR about SNR 和 PSNR MSE:mean squared error ∑x=1Nx∑y=1Ny(f(x,y) ...
随机推荐
- Linux LVM硬盘管理及LVM扩容【转】
原文地址:http://www.cnblogs.com/gaojun/archive/2012/08/22/2650229.html 一.LVM简介 LVM是 Logical Volume Manag ...
- 【服务器时间修改为东八区】包括Apache2和mysql
1.服务器Apache时间修改,可通过修改php.ini进行修改 所以就深入了解了一下, 发现Apache(PHP)的服务器时间时区默认为UTC(Coordinated UniversalTime 世 ...
- jdbc调用 oracle 存储过程操作
创建有参存储函数findEmpNameAndSal(编号),查询7902号员工的的姓名和月薪,[返回多个值,演示out的用法]当返回2个或多个值,必须使用out符号当返回1个值,就无需out符号 cr ...
- Android权限说明 system权限 root权限
原文链接:http://blog.csdn.net/rockwupj/article/details/8618655 Android权限说明 Android系统是运行在Linux内核上的,Androi ...
- VMware配置网络的3种方式:NAT、Host-Only、Bridged
网络常识: 1.网络中对电脑的访问是通过ip定位的 就好像我们的身份证号,可以唯一辨识一个人.ip是用来区分网络中的电脑的,因此同一网络(准确讲是“网段”)中,ip地址不能相同.如果同一网络中有相同的 ...
- docker容器互连
三种方式 1.使用容器连接的示例如下: $ docker run --name some-app --link itbilu-mysql:mysql -d application-that-uses- ...
- CentOS添加新网卡network-scripts目录下找不到网卡配置文件
问题描述: 使用VMware Workstation虚拟机,安装好CentOS7虚拟机后(原本只有一张网卡ifcfg-ens33),重新添加了一个新的网卡. 进入CentOS7系统后,使用ip add ...
- python 特征缺失值填充
python数据预处理之缺失值简单处理:https://blog.csdn.net/Amy_mm/article/details/79799629 该博客总结比较详细,感谢博主. 我们在进行模型训练时 ...
- php学记笔记之函数用途
echo '<pre>';//格式化输出字符 isset();//判断变量是否存在 array_key_exists('key',$arr);//判断数组下标是否存在 in_array(' ...
- Mysql各种类型字段长度
1.数值类型 列类型 需要的存储量 TINYINT 1 字节 SMALLINT 2 个字节 MEDIUMINT 3 个字节 INT 4 个字节 INTEGER 4 个字节 BIGINT 8 个字节 F ...