multissim
多尺度结构相似度(MS-SSIM)图像质量指标
语法
描述
[
还返回每个缩放版本中每个像素的本地MS-SSIM索引值分数
,qualityMaps
= multissim(___)我
.的qualitymap
的每个缩放版本的映射单元格数组我
.每个质量图的大小与相应的缩放版本相同我
.
例子
计算MS-SSIM
将图像加载到工作区中。
Iref = imread(“pout.tif”);
创建一个图像的噪声版本,用于比较。
I = imnoise(Iref,“盐和胡椒”, 0.05);
显示原始图像和噪声图像。
图;蒙太奇({Iref,我});
计算MS-SSIM指数,该指数衡量输入图像与参考图像相比的质量。
score = multissim(I,Iref)
分数=单0.6732
计算MS-SSIM并获取本地MS-SSIM地图
将图像加载到工作区中。
Iref = imread(“pout.tif”);I = Iref;
为图像的局部区域添加噪声。
I(1:100,1:100) = imnoise(Iref(1:100,1:100),“盐和胡椒”, 0.05);
显示原始图像和噪声图像。
图;蒙太奇({Iref,我});
计算噪声图像的局部MS-SSIM索引映射,qualitymaps
,以原始图像为参考。返回值,qualitymaps
,是一个单元格数组,包含图像的每个缩放版本的质量映射。每张地图的大小都与图像的相应缩放版本相同。
[~, qualitymaps] = multissim(I,Iref);图蒙太奇(qualitymaps,“大小”[1 5])
计算指定比例权重的MS-SSIM
将图像加载到工作区中。
Iref = imread(“pout.tif”);
创建一个图像的噪声版本,用于比较。
I = imnoise(Iref,“盐和胡椒”, 0.05);
显示原始图像和图像的噪声版本。
图;蒙太奇({Iref,我});
以原始图像为参考,计算噪声图像的MS-SSIM指数。属性指定对每个缩放图像的本地MS-SSIM索引计算进行多少加权“ScaleWeights”
论点。该示例使用Wang、Simoncelli和Bovik在文章中定义的权重值。
score = multissim(I,Iref,“ScaleWeights”, (0.0448, 0.2856, 0.3001, 0.2363, 0.1333))
分数=单0.6773
计算彩色图像的MS-SSIM
将彩色图像读入工作区。
RGB = imread(“kobi.png”);
创建一个添加了盐和胡椒噪声的图像版本。
RGB = imnoise(RGB,“盐和胡椒”);
以蒙太奇的方式显示这两个图像。
蒙太奇({RGB, RGBNoisy})
计算噪声图像各颜色通道的MS-SSIM。
score = multissim(rgbnoise,RGB);分数=挤压(分数)
分数=3x1单列向量0.7084 0.7135 0.7066
计算的MS-SSIMdlarray
输入
将彩色图像读入工作区。
参考资料:“strawberries.jpg”);Ref = im2single(Ref);
通过沿着第四维复制图像来模拟一批六个图像。
refBatch = repmat(ref,[1 1 1 6]);
创建一批图像的副本,添加盐和胡椒噪声。
noisyBatch = imnoise(refBatch,“盐和胡椒”);
创建格式化的dlarray
对象用于原始和有噪声的一批图像。格式为“SSCB”,即空间-空间-通道-批处理。
dlrefBatch = darray (refBatch,“SSCB”);dlnoisyBatch = dlarray(噪音批次,“SSCB”);
计算噪声数据相对于原始数据的MS-SSIM评分。
scores = multissim(dlnoisyBatch,dlrefBatch);
删除与空间维度对应的单个维度并显示分数。每个元素是该批图像中一个颜色通道的MS-SSIM评分。
挤压(分数)
ans = 3(C) x 6(B)单美元0.8334 0.8335 0.8348 0.8335 0.8340 0.8349 0.8325 0.8316 0.8309 0.8310 0.8317 0.8326 0.8140 0.8123 0.8166 0.8129 0.8136 0.8123
输入参数
我
- - - - - -输入图像
数字数组|dlarray
对象
输入图像,指定为任意维度的数字数组或dlarray
(深度学习工具箱)对象。格式化dlarray
对象不能包含一个以上的通道标签、一个以上的批标签和两个以上的空间标签。
数据类型:单
|双
|int16
|uint8
|uint16
Iref
- - - - - -参考图片
数字数组|dlarray
对象
引用图像,指定为任意维度的数字数组或dlarray
(深度学习工具箱)对象。格式化dlarray
对象不能包含一个以上的通道标签、一个以上的批标签和两个以上的空间标签。
数据类型:单
|双
|int16
|uint8
|uint16
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:score = multissim(I,Iref,'NumScales',3);
NumScales
- - - - - -量表数量
5
(默认)|正整数
用于计算MS-SSIM索引的刻度数,指定为逗号分隔的对,由“NumScales”
一个正整数。设置“NumScales”
来1
相当于使用了ssim
使用其函数“指数”
名称-值对参数设置为[1 1 1]
.输入图像的大小限制了尺度的数量。的multissim
函数缩放图像(NumScales
- 1)次,每缩放一次,对图像进行因子2的采样。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
ScaleWeights
- - - - - -跨尺度的相对值
正数向量
跨刻度的相对值,指定为逗号分隔的对,由“ScaleWeights”
一个正元素的向量。向量的长度等于缩放的数量,因为每个元素对应于原始图像的一个缩放版本。的multissim
函数将值归一为1。默认情况下,天平的权重相等fspecial
(“高斯”,[1,numScales], 1)
.的multissim
函数使用高斯分布作为默认值,因为人类视觉灵敏度在中频达到峰值,并在两个方向上下降。这是一个设置的例子“ScaleWeights”
,请参阅计算指定比例权重的MS-SSIM.
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
σ
- - - - - -标准偏差
1.5
(默认)|正数
各向同性高斯函数的标准偏差,用逗号分隔的对表示“σ”
一个正数。这个值指定一个像素周围的邻域像素的权重,用于估计局部统计信息。的multissim
函数使用加权来避免在估计局部统计信息时阻塞工件。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
动态范围
- - - - - -输入图像的动态范围
正数
输入图像的动态范围,指定为正数。的默认值动态范围
这取决于图像的数据类型我
,计算为diff (
.例如,默认动态范围为getrangefromclass
(我))255
对于数据类型的图像uint8
,默认为1
对于数据类型的图像双
或单
像素值范围为[0,1]。
数据类型:单
|双
|int8
|int16
|int32
|uint8
|uint16
|uint32
输出参数
分数
- MS-SSIM索引
数字标量|数字数组|dlarray
对象
用于图像质量的MS-SSIM索引,返回为数值标量、数值数组或dlarray
(深度学习工具箱)对象,如表中所示。的价值分数
通常在[0,1]范围内。值1表示最高质量,发生在我
而且Iref
是等价的。较小的值对应较差的质量。对于输入和名值对参数的某些组合,分数
可以是负的。
输入图像类型 | MS-SSIM价值 |
---|---|
二维数值矩阵 | 数值标量与单一MS-SSIM测量。 |
二维dlarray 对象 |
1×1dlarray 对象与单一MS-SSIM测量。 |
N- d数字数组,N个>2 | 与输入图像具有相同维数的数字数组。的前两个维度分数 是单维度。对于高维上的每个元素都有一个MS-SSIM测量。 |
无格式的一天 |
|
格式化的一天 |
dlarray 与输入图像具有相同维度的对象。的空间维度分数 是单维度。在任何通道或批处理维度上,每个元素都有一个MS-SSIM测量。 |
算法
结构相似性(SSIM)指数通过量化图像和参考图像之间的SSIM来衡量感知质量ssim
).的multissim
函数通过组合不同尺度下图像的几个版本的SSIM索引来计算MS-SSIM索引。与SSIM指数相比,MS-SSIM指数在观看条件变化方面更稳健。
的multissim
函数对类的输入图像使用双精度算法双
.所有其他类型的输入图像都使用单精度算法。
参考文献
[1]王Z,西蒙切利,e.p., Bovik, A.C.基于多尺度结构相似性的图像质量评价.见:第37届Asilomar信号,系统和计算机会议,2003,1398 - 1402。太平洋格罗夫,CA,美国:IEEE, 2003。https://doi.org/10.1109/ACSSC.2003.1292216。
扩展功能
GPU数组
通过使用并行计算工具箱™在图形处理单元(GPU)上运行来加速代码。
本功能完全支持GPU阵列。万博1manbetx有关更多信息,请参见图形处理器图像处理.
版本历史
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。