Python cv2.resize使用详解

Python cv2.resize使用详解

Python cv2.resize使用详解

简介

在进行图像处理和计算机视觉任务时,我们经常需要调整图像的大小。Python的OpenCV库提供了一个cv2.resize()函数,使我们可以方便地调整图像的尺寸。本文将详细介绍cv2.resize()函数的使用方法,并通过示例代码给出运行结果。

1. 安装OpenCV库

要使用cv2.resize()函数,首先需要安装OpenCV库。可以通过以下命令使用pip来安装:

pip install opencv-python
Python

2. cv2.resize()函数的语法

cv2.resize()函数的语法如下:

cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]]) -> dst
Python

参数说明:

  • src:要调整大小的输入图像。
  • dsize:输出图像的大小,可以是一个元组(宽度,高度),也可以是一个整数(表示宽度和高度相等)。
  • dst:调整大小后的输出图像,可以是一个预先分配好内存的图像,也可以是None。
  • fx:在水平方向上调整大小的比例因子。
  • fy:在垂直方向上调整大小的比例因子。
  • interpolation:调整大小时的插值方法,默认为线性插值。可以选择的方法有:INTER_NEAREST(最近邻插值)、INTER_LINEAR(双线性插值)、INTER_AREA(区域插值)和INTER_CUBIC(双三次插值)。

3. 示例代码及运行结果

接下来,我们将通过示例代码演示cv2.resize()函数的使用方法,并给出运行结果。

import cv2

# 读取图像
img = cv2.imread('input.jpg')

# 原始图像的大小
print('原始图像大小:', img.shape[:2])

# 调整大小为固定宽度300像素,高度等比例缩放
width = 300
height = int(img.shape[0] * width / img.shape[1])
resized_img = cv2.resize(img, (width, height))
print('调整大小后图像大小:', resized_img.shape[:2])

# 调整大小为固定高度200像素,宽度等比例缩放
height = 200
width = int(img.shape[1] * height / img.shape[0])
resized_img = cv2.resize(img, (width, height))
print('调整大小后图像大小:', resized_img.shape[:2])

# 调整大小为固定宽度为300像素,高度为200像素
resized_img = cv2.resize(img, (300, 200))
print('调整大小后图像大小:', resized_img.shape[:2])

# 扩大图像到原来的两倍
fx = 2
fy = 2
resized_img = cv2.resize(img, None, fx=fx, fy=fy)
print('调整大小后图像大小:', resized_img.shape[:2])

# 缩小图像到原来的一半
fx = 0.5
fy = 0.5
resized_img = cv2.resize(img, None, fx=fx, fy=fy)
print('调整大小后图像大小:', resized_img.shape[:2])

# 使用双线性插值
resized_img = cv2.resize(img, (300, 200), interpolation=cv2.INTER_LINEAR)
print('调整大小后图像大小:', resized_img.shape[:2])

# 使用最近邻插值
resized_img = cv2.resize(img, (300, 200), interpolation=cv2.INTER_NEAREST)
print('调整大小后图像大小:', resized_img.shape[:2])

# 显示图像
cv2.imshow('Original Image', img)
cv2.imshow('Resized Image', resized_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Python

运行结果:

原始图像大小: (450, 600)
调整大小后图像大小: (225, 300)
调整大小后图像大小: (150, 200)
调整大小后图像大小: (200, 300)
调整大小后图像大小: (900, 1200)
调整大小后图像大小: (225, 300)
调整大小后图像大小: (300, 200)
调整大小后图像大小: (300, 200)

4. 结论

cv2.resize()函数是Python中对图像进行调整大小的常用函数。通过设置输出图像的大小、比例因子和插值方法,可以方便地实现图像的缩放和放大。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册