用python语言写一个yolov5的自适应缩放图像的函数
时间: 2024-05-01 08:18:47 浏览: 131
好的,以下是用Python语言写一个YoloV5的自适应缩放图像的函数的代码:
```python
import cv2
def yolov5_resize(img):
# 获取图像的高度和宽度
height, width = img.shape[:2]
# 设置缩放比例
scale = min(416 / height, 416 / width)
# 计算缩放后的高度和宽度
new_height = int(height * scale)
new_width = int(width * scale)
# 缩放图像
resized_img = cv2.resize(img, (new_width, new_height), interpolation=cv2.INTER_CUBIC)
# 将缩放后的图像填充为416x416
top_pad = (416 - new_height) // 2
bottom_pad = 416 - new_height - top_pad
left_pad = (416 - new_width) // 2
right_pad = 416 - new_width - left_pad
padded_img = cv2.copyMakeBorder(resized_img, top_pad, bottom_pad, left_pad, right_pad, cv2.BORDER_CONSTANT, value=[0, 0, 0])
return padded_img
```
这个函数可以将输入的图像缩放到416x416大小,并保持原始比例,同时在缩放后的图像周围填充黑色像素值,使其大小为416x416。
阅读全文