opencv resize 图片
时间: 2024-08-13 19:02:43 浏览: 51
在OpenCV中,`resize()` 函数用于调整图像的尺寸。它是一个非常常用的操作,通常应用于处理不同分辨率的图像或者改变图像的视图比例。函数原型如下:
```python
cv2.resize(image, dsize, interpolation=None, dst=None)
```
其中:
- `image`: 需要调整大小的原始图像,通常是numpy数组。
- `dsize`: 输出图像的新尺寸,可以是一个元组 (width, height),也可以是一个 `Size` 对象。
- `interpolation`: 可选的插值方法,用于确定如何平滑地从源图像像素点计算新尺寸下的像素值。常见的插值方法有:
- `INTER_NEAREST`(最近邻插值,最简单的插值,可能导致锯齿)
- `INTER_LINEAR`(线性插值)
- `INTER_AREA`(面积插值,适合缩放因子大于1的情况)
- `INTER_CUBIC`(立方插值,提供更好的平滑效果)
- `INTER_LANCZOS4`(兰伯特-蔡司插值,更适用于高分辨率图像)
- `dst`: 可选的目标缓冲区,如果没有提供,函数会在内部创建一个新的数组。
下面是一个例子:
```python
import cv2
# 加载图像
original_image = cv2.imread('input.jpg')
# 设置新的尺寸和插值方法
new_size = (800, 600)
interpolation = cv2.INTER_LINEAR
# 调整图像大小
resized_image = cv2.resize(original_image, new_size, interpolation=interpolation)
# 显示原图和调整后的图
cv2.imshow("Original Image", original_image)
cv2.imshow("Resized Image", resized_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文