Python如何使用OpenCV调整图像大小?

2021年3月30日15:50:34 发表评论 1,914 次浏览

图像调整大小是指图像的缩放比例。在许多图像处理以及机器学习应用程序中, 缩放非常方便。它有助于减少图像中的像素数量, 并且具有多个优点, 例如它可以减少训练神经网络的时间, 因为图像中的像素数量越多, 输入节点的数量越多, 这反过来又增加了模型的复杂性。

它还有助于放大图像。很多时候, 我们需要调整图像的大小, 例如, 将其推开或放大以满足尺寸要求。 OpenCV为我们提供了几种用于调整图像大小的插值方法。

调整大小的插值方法的选择–

  • cv2.INTER_AREA:在需要缩小图像时使用。
  • cv2.INTER_CUBIC:这很慢, 但效率更高。
  • cv2.INTER_LINEAR:主要在需要缩放时使用。这是OpenCV中的默认插值技术。

下面是调整大小的代码。

import cv2
import numpy as np
import matplotlib.pyplot as plt 
% matplotlib qt
# This is a magic command to display in an external window
  
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()

输出如下:

使用OpenCV调整图像大小?

注意:使用时要记住的一件事cv2.resize()函数的作用是, 用于确定新图像大小的元组(在这种情况下为(1050, 1610))遵循与预期(高度, 宽度)不同的顺序(宽度, 高度)。

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


木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: