使用OpenCV实现图像金字塔示例|Python

图像金字塔是图像处理中最美丽的概念之一。通常,我们使用默认分辨率的图像,但很多时候我们需要改变分辨率(降低它)或调整原始图像的大小,在这种情况下,图像金字塔非常方便。

pyrUp()函数将大小增加到原来的两倍,而pyrDown()函数将大小减少到原来的一半。如果我们将原始图像作为基础图像,并继续在其上应用pyrDown函数,并将图像保持在垂直堆栈中,它将看起来像一个金字塔。通过pyrUp函数升级原始图像也是如此。

使用OpenCV实现图像金字塔|Python1

缩小后, 如果将其重新缩放到原始大小, 则会丢失一些信息, 并且新图像的分辨率将大大低于原始图像。

以下是图像金字塔的示例–

import cv2

import matplotlib.pyplot as plt

img = cv2.imread( "images/input.jpg" )

layer = img.copy()

for i in range ( 4 ):

plt.subplot( 2 , 2 , i + 1 )

# using pyrDown() function

layer = cv2.pyrDown(layer)

plt.imshow(layer)

cv2.imshow( "str(i)" , layer)

cv2.waitKey( 0 )

cv2.destroyAllWindows()

输出如下:

使用OpenCV实现图像金字塔|Python2

图片金字塔的优点:

  • 降低分辨率
  • 获取各种尺寸的图像
  • 图像融合
  • 边缘检测

首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。

以上是 使用OpenCV实现图像金字塔示例|Python 的全部内容, 来源链接: utcz.com/p/204316.html

回到顶部