使用 OpenCV 调整图像大小 | Python
图像大小调整是指图像的缩放。缩放在许多图像处理和机器学习应用程序中都派上用场。它有助于减少图像中的像素数量,并且有几个优点,例如它可以减少神经网络的训练时间,因为图像中的像素数量越多,输入节点的数量就越多,这反过来又会增加模型的复杂性。
它还有助于放大图像。很多时候,我们需要调整图像的大小,即缩小或放大图像以满足尺寸要求。 OpenCV 为我们提供了几种调整图像大小的插值方法。
调整大小的插值方法的选择 -
- cv2.INTER_AREA:当我们需要缩小图像时使用。
- cv2.INTER_CUBIC:这很慢但更有效。
- cv2.INTER_LINEAR:主要在需要缩放时使用。这是 OpenCV 中的默认插值技术。
下面是调整大小的代码。
Python3
import cv2
import numpy as np
import matplotlib.pyplot as plt
image = cv2.imread("C://gfg//tomatoes.jpg", 1)
# Loading the image
half = cv2.resize(image, (0, 0), fx = 0.1, fy = 0.1)
bigger = cv2.resize(image, (1050, 1610))
stretch_near = cv2.resize(image, (780, 540),
interpolation = cv2.INTER_NEAREST)
Titles =["Original", "Half", "Bigger", "Interpolation Nearest"]
images =[image, half, bigger, stretch_near]
count = 4
for i in range(count):
plt.subplot(2, 2, i + 1)
plt.title(Titles[i])
plt.imshow(images[i])
plt.show()
输出:
注意:使用 cv2.resize()函数时要记住的一件事是,用于确定新图像大小的元组(在这种情况下为 (1050, 1610))遵循顺序 (width, height) 不像预期(高度,宽度)。