python cv2缩放
时间: 2024-08-28 16:00:57 浏览: 49
在Python中,使用OpenCV库(cv2模块)进行图像缩放非常常见,通常有以下两种方式进行:
1. **resize()函数**:这是最常用的方法,通过`cv2.resize()`函数可以按比例缩放图片。例如,如果你想将图像缩小到原尺寸的一半,你可以这样做:
```python
import cv2
img = cv2.imread('image.jpg')
resized_img = cv2.resize(img, (int(img.shape[1] / 2), int(img.shape[0] / 2)), interpolation=cv2.INTER_AREA)
```
在这个例子中,`interpolation=cv2.INTER_AREA`用于保持原始形状并减少像素密度(适合于减小图像大小)。
2. **使用transformers**:如果你想要进行更复杂的几何变换,如透视变换或仿射变换,可以使用`getPerspectiveTransform()`和` warpPerspective()`或者`getAffineTransform()`和`warpAffine()`方法。这里以透视变换为例:
```python
src_points = np.float32([[56,65],[368,52],[28,387],[389,390]])
dst_points = np.float32([[0,0],[300,0],[0,300],[300,300]])
M = cv2.getPerspectiveTransform(src_points, dst_points)
resized_img = cv2.warpPerspective(img, M, (300, 300))
```
在这个示例中,`src_points`和`dst_points`分别代表源图像和目标图像的四个角坐标,会按照这组点进行透视变换。
阅读全文