本文概述
结构相似性指数(SSIM)是一种感知指标, 可量化由诸如数据压缩之类的处理或数据传输中的损失所引起的图像质量下降。此度量标准基本上是完全参考, 需要来自同一镜头的2张图像, 这意味着2张图形上人眼相同的图像。第二个图像通常被压缩或具有不同的质量, 这是该索引的目标。 SSIM通常用于视频行业, 但在摄影领域也有很强的应用。 SIM实际上测量两个相似图像之间的感知差异。它无法判断两者中哪一个更好:必须从知道哪个是原始的, 哪些经历了压缩或过滤器等其他处理才能推断出。
在本文中, 我们将向你展示如何使用Python计算两个图像之间的索引。
要求
要遵循本教程, 你将需要:
Python 3
画中画3
话虽如此, 让我们开始吧!
1.安装Python依赖项
在实施逻辑之前, 你将需要安装一些将由逻辑使用的基本工具。可以使用以下命令通过PIP安装此工具:
pip3 install scikit-image opencv-python imutils
这些工具是:
scikitimage:scikit-image是图像处理算法的集合。
opencv:OpenCV是高度优化的库, 专注于实时应用程序。
imutils:一系列便利功能, 使基本的图像处理功能(例如平移, 旋转, 调整大小, 构图, 显示Matplotlib图像, 分类轮廓, 检测边缘)以及使用OpenCV以及Python 2.7和Python 3更加容易。
本教程将在可使用Python的任何平台上运行(Ubuntu / Windows / Mac)。
2.编写脚本
比较图像的逻辑如下。使用Skimage度量模块的compare_ssim方法。该方法计算两个图像之间的平均结构相似性指数。它接收作为参数: