目标
在本章中,
我们将了解图像金字塔
我们将使用图像金字塔来创建一个新的水果,“Orapple”
我们将看到这些函数:cv2.pyrUp(),cv2.pyrDown()
理论
通常,我们曾经使用一个恒定大小的图像。但在某些情况下,我们需要处理相同图像的不同分辨率的图像。
例如,在像图像中寻找某物的同时,我们不确定图像中的对象将以什么大小显示。
在这种情况下,我们将需要创建一组不同分辨率的图像,并在所有图像中搜索对象。
这些具有不同分辨率的图像被称为图像金字塔(因为当它们保持在堆叠中,最大图像在底部,最小图像在顶部看起来像金字塔)。
有两种图像金字塔。
1)高斯金字塔和2)拉普拉斯金字塔
高斯金字塔中的较高级别(低分辨率)是通过删除较低级别(较高分辨率)图像中的连续行和列来形成的。
然后,较高级别中的每个像素由基础级别中的5个像素与高斯权重的贡献形成。
通过这样做,M×N图像成为M / 2×N / 2图像。
因此,面积减少到原始面积的四分之一。
它被称为八度。
我们在金字塔上升(即分辨率降低)时,相同的模式继续下去。
类似地,在扩展时,每个层面的面积变成4倍。
我们可以使用cv2.pyrDown()和cv2.pyrUp()函数找到高斯金字塔。
使用金字塔的图像混合
金字塔的一个应用是图像混合。
例如,在图像拼接中,您需要将两个图像堆叠在一起,但由于图像之间的不连续性,它可能看起来不太好。
在这种情况下,与金字塔的图像混合可以让您无缝混合,而不会在图像中留下大量数据。
一个典型的例子就是混合了两种水果,橙子和苹果。
现在看看结果来了解我在说什么: