有一个标准尺寸,要求图片和标准尺寸相同,并且宽高比不变。用python opencv实现
时间: 2024-03-06 19:48:09 浏览: 16
好的,可以使用Python的OpenCV库来实现这个需求。下面是一个简单的示例代码:
```python
import cv2
# 读取原始图片
img = cv2.imread('input.jpg')
# 设置标准尺寸
width, height = 640, 480
# 计算原始图片的宽高比
aspect_ratio = img.shape[1] / img.shape[0]
# 根据标准尺寸调整图片大小
if aspect_ratio > width / height:
new_width = int(height * aspect_ratio)
new_height = height
else:
new_width = width
new_height = int(width / aspect_ratio)
img_resized = cv2.resize(img, (new_width, new_height), interpolation=cv2.INTER_AREA)
# 将图片居中裁剪到标准尺寸
x_offset = int((new_width - width) / 2)
y_offset = int((new_height - height) / 2)
img_cropped = img_resized[y_offset:y_offset+height, x_offset:x_offset+width]
# 保存处理后的图片
cv2.imwrite('output.jpg', img_cropped)
```
在这个代码中,我们首先读取原始图片,然后设置标准尺寸。接着,我们计算原始图片的宽高比,并根据标准尺寸调整图片大小。如果原始图片的宽高比大于标准尺寸的宽高比,我们就按照高度来缩放图片,否则按照宽度来缩放图片。缩放后的图片可能会超出标准尺寸,所以我们需要将图片居中裁剪到标准尺寸。最后,我们将处理后的图片保存到输出文件中。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)