如何在OpenCV Python中比较两张图片?
为了比较两张图片,我们使用像素值的均方误差(MSE)。相似的图片将具有较小的均方差值。使用这种方法,我们可以比较高度、宽度和通道数相同的两张图片。
步骤
您可以使用以下步骤使用OpenCV比较两张图片 **** −
导入必要的库。在以下所有Python示例中,所需的Python库是 OpenCV 。确保您已经安装了它。
使用 cv2.imread() 读取输入图像并将其转换为灰度图像。图像的高度、宽度和通道数必须相同。
定义一个函数来计算两张图片之间的均方误差。
计算图像之间的均方误差(匹配误差)。
打印图像匹配误差(mse)并显示图像差异。
打印结果值,即图像形状匹配度量。该值越低,匹配度越好。
让我们看看一些示例,以更好地理解。
在下面的例子中,我们将使用以下图像作为 输入文件 。
示例1
在此示例中,我们创建一个简单的四层人工神经网络,没有前向函数。
输出
运行后,将在控制台中出现以下输出 −
我们得到如下窗口,显示三张图片之间的差异 −
例子2
在这个Python程序中,我们比较了三张图片。
输出
当执行以上Python程序时,控制台将产生以下输出 −
我们会得到以下窗口,显示图片之间的差异 −
请注意,图像1和图像2之间的匹配误差与图像1和3以及图像2和3之间的匹配误差相比较小。因此,图像1和图像2更为相似。