Python | cv2 resize()方法

时间:2020-02-23 14:42:15  来源:igfitidea点击:

在本教程中,我们将看到如何在Python编程语言中调整图像大小,使用Python中存在作为CV2(计算机Vision)库存在。

我们可以使用 resize()的方法 cv2库调整图像大小。
要使用CV2库,我们需要使用CV2库使用 import statement

调整图像意味着改变图像的配置,例如改变图像的高度或者改变图像的宽度或者改变图像的高度和宽度。

现在让我们看看语法和返回值 resize()方法,然后我们将继续执行示例。

语法

cv2.resize(source, dim, fx, fy, interpolation)

参数

我们可以通过5个参数来resize()方法。
在5个参数中,前两个(源和暗淡)是强制性的;休息(FX,FY和插值)是可选的。

  • source:源/原始/输入镜像例如:想要调整大小的图像n维数组。
  • dim:元组形式的图像尺寸为(高度,宽度)。
  • fx:沿水平轴或者X轴的缩放系数。
  • fy:沿垂直轴或者y轴的缩放系数。
  • interpolation:这是估计落在已知值之间的未知值的过程。我们将在此提及一些内插方法,其可用于基于其相邻像素来查找像素值。
  • Inter_Linear:双线性插值。这是默认情况下由resize()方法使用的方法。
  • Inter_Cubic:超过4×4像素邻域的双向插值。
  • Inter_Lanczos4:Lanczos插值超过8×8像素邻域。

返回值

该方法返回调整大小的图像像素矩阵。

CV2调整方法示例

现在,让我们看看Python代码:
示例 1:使用DIM参数调整到原始图像的一半的大小。

# import computer vision library(cv2) in this code
import cv2
 
# main code
if __name__ == "__main__" :
 
    # mentioning absolute path of the image
    img_path = "C:\Users\user\Desktop\flower.jpg"
 
    # read/load an image
    image = cv2.imread(img_path)
 
    # find out the configuration of an image
    # shape attribute of an image gives shape
    # of an image in form of (width,height,planes)
    width,height,dimension = image.shape
 
    print("Original image configuration :",image.shape)
 
   # show the image
    cv2.imshow("window1",image)
 
    # half of the original image
    required_width, required_height = width //2, height //2
 
    # resizing of an image is done
    resize_img = cv2.resize(image,(required_height, required_width))
 
    print("Resize image configuration :",resize_img.shape)
 
    # show the image
    cv2.imshow("window2",resize_img)

原始图像配置:(251,335,3)调整图像配置大小:(125,167,3)

示例 2:使用FX,FY参数调整到原始图像的一半的大小。

# import computer vision library(cv2) in this code
import cv2
 
# main code
if __name__ == "__main__" :
 
    # mentioning absolute path of the image
    img_path = "C:\Users\user\Desktop\flower.jpg"
 
    # read/load an image
    image = cv2.imread(img_path)
 
    # find out the configuration of an image
    # shape attribute of an image gives shape
    # of an image in form of (width,height,planes)
    width,height,dimension = image.shape
 
    print("Original image configuration :",image.shape)
 
   # show the image
    cv2.imshow("window1",image)
 
    # resizing of an image is done using scaling factor
    # fx and fy parameter is set to the 50%
    resize_img = cv2.resize(image,(0,0),fx=0.5,fy = 0.5)
 
    print("Resize image configuration :",resize_img.shape)
 
    # show the image
    cv2.imshow("window2",resize_img)

原始图像配置:(251,335,3)调整图像配置大小:(126,168,3)