python中cv2.resize
时间: 2023-10-17 16:31:57 浏览: 118
在Python中,使用OpenCV库的cv2.resize函数可以用来调整图像的大小。根据不同的需求,可以使用两种不同的方法来调整图像的大小。
第一种方法是使用参数dsize。首先,使用cv2.imread函数读取图像,并使用img.shape获取图像的高度和宽度。然后,通过将原始图像的尺寸除以2来计算新图像的尺寸。接下来,使用cv2.resize函数来调整图像的大小,参数为原始图像、新图像的尺寸和插值方式。最后,可以使用cv2.imshow函数显示调整后的图像,并使用cv2.imwrite函数保存调整后的图像。具体的代码如下:
```python
import cv2
img = cv2.imread('image1.jpg') # 读图
print(img.shape) # 输出为(450,600,3)(高,宽,通道数)
height, width = img.shape[:2 # 获取原图像的水平方向尺寸和垂直方向尺寸。
res = cv2.resize(img, (width//2, height//2), interpolation=cv2.INTER_CUBIC) # dsize=(2*width,2*height)
cv2.imshow('res', res)
cv2.imwrite('output.jpg', res)
```
第二种方法是使用参数fx和fy。同样地,首先使用cv2.imread函数读取图像,并使用img.shape获取图像的尺寸。然后,通过将原始图像的尺寸乘以比例因子来计算新图像的尺寸。接下来,使用cv2.resize函数来调整图像的大小,参数为原始图像、新图像的尺寸和插值方式。最后,可以使用cv2.imshow函数显示调整后的图像,并使用cv2.imwrite函数保存调整后的图像。具体的代码如下:
```python
import cv2
img = cv2.imread('image1.jpg') # 读图
height, width = img.shape[:2 # 获取原图像的水平方向尺寸和垂直方向尺寸。
res = cv2.resize(img, None, fx=2, fy=2, interpolation=cv2.INTER_CUBIC) # 比例因子:fx=2, fy=2
cv2.imshow('res', res)
cv2.imwrite('output2.jpg', res)
```
关于cv2.resize函数的更多理解以及插值法的使用,可以参考OpenCV官方文档中的相关说明。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [利用Python里的cv2(opencv)改变图片大小【同时也是cv2.resize的学习】](https://blog.csdn.net/kht123kht/article/details/113917347)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文