OpenCV Python 图像金字塔
有时候,我们可能需要将一幅图像转换为与其原始大小不同的尺寸。为此,您可以对图像进行放大(缩小)或缩小(放大)。
图像金字塔是一组图像(由单个原始图像构成),按照指定的次数进行逐渐降采样。
高斯金字塔用于对图像进行降采样,而拉普拉斯金字塔则从金字塔中分辨率较低的图像重建上采样图像。
将金字塔视为一组层。以下是该图像的示例−
金字塔的上层图像尺寸较小。为了生成高斯金字塔中下一层的图像,我们将低一级图像与高斯核进行卷积。
ParseError: KaTeX parse error: Undefined control sequence: \4 at position 38: …trix}1&4&6&4&1 \̲4̲&16&24&16&4 \6&…
现在去掉每一偶数行和列。结果图像将是前一图像的面积的1/4。对原始图像重复此过程即可生成整个金字塔。
为了使图像变大,用零填充列。首先,将图像在每个维度上放大为两倍大小,然后对新的偶数行进行卷积,以近似缺失像素的值。
函数 cv.pyrUp() 将原始尺寸增大一倍, cv.pyrDown() 函数将其缩小为一半。
示例
下面的程序根据用户输入的“I”或“o”调用pyrUp()和pyrDown()函数。
请注意,当我们缩小图像的尺寸时,图像的信息会丢失。一旦我们缩小并且重新调整为原始尺寸,我们会丢失一些信息,并且新图像的分辨率远远低于原始图像。