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) ...
随机推荐
- 算法笔记_094:蓝桥杯练习 矩阵相乘(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 小明最近在为线性代数而头疼,线性代数确实很抽象(也很无聊),可惜他的老师正在讲这矩阵乘法这一段内容. 当然,小明上课打瞌睡也没问题,但线性 ...
- Twelves Monkeys (multiset解法 141 - ZOJ Monthly, July 2015 - H)
Twelves Monkeys Time Limit: 5 Seconds Memory Limit: 32768 KB James Cole is a convicted criminal ...
- 使用Python爬虫爬取网络美女图片
代码地址如下:http://www.demodashi.com/demo/13500.html 准备工作 安装python3.6 略 安装requests库(用于请求静态页面) pip install ...
- hdu 4770 Lights Against Dudely(回溯)
pid=4770" target="_blank" style="">题目链接:hdu 4770 Lights Against Dudely 题 ...
- DEDECMS 添加栏目图片
当我们一个栏目列表都用缩略图来表示产,而不仅仅只是文字,如果没有这项功能会非常麻烦,网上有很多这方面的资料,但是都试过了有很多问题,自己研究一下,测试基本通过.需要新加字段 typeimg 后台执行S ...
- 0xffff0000颜色表示
0xffff0000表红色,意思是: A:ff=255 R:ff=255 G:00=0 B:00=0 可如下将(255,0,0,255)转成0xffff0000并输出: inline DWORD RG ...
- container_of学习笔记
最近在学习c语言宏编程,看到了container_of宏,深入学习了一天,做个笔记留念. 1.看一下书上写的container_of的版本: #define offsetof(TYPE,MEMBER) ...
- 环境搭建基础知识2(sublime text3中配置verilog语法高亮)
需求说明:Verilog设计 内容 :verilog开发环境搭建 来自 :时间的诗 1 软件下载 1.1 官方下载 地址http://www.sublimetext.com/3 ...
- WEEX快速入门
WEEX快速入门 WEEX 是阿里推送的一款基于Node.js,轻量级的移动端跨平台动态性技术解决方案,用于构建原生的速度的跨平台APP. 1. 搭建WEEX环境 1.1 首先下载安装Node.js, ...
- PyCharm Python迁移项目
把整个项目文件迁移过去后,执行文件会报不能执行XX,系统找不到指定的文件. 此时把当前的这个文件名字改一下,再运行,修改提示的错误.等错误全部修改,可以正常运行后,再把文件名改回去