pytho实现cv2.read读取1920*1080图片过程中压缩图片尺寸为固定尺寸800*800,缩短resize的时间,并写出pytorch中关于numpy.ascontiguousarray(image)相似或可替代的用法
时间: 2024-03-09 13:47:47 浏览: 86
Python OpenCV之图片缩放的实现(cv2.resize)
可以使用cv2.resize()函数将图片压缩为800*800的尺寸,例如:
```
import cv2
image = cv2.imread('example.jpg')
resized_image = cv2.resize(image, (800, 800))
```
这样可以有效缩短resize的时间。
在PyTorch中,可以使用torch.as_tensor()函数将numpy数组转换为Tensor,并使用torch.transpose()函数交换维度,以达到类似numpy.ascontiguousarray()的效果。具体用法如下:
```
import torch
import numpy as np
image = cv2.imread('example.jpg')
resized_image = cv2.resize(image, (800, 800))
tensor_image = torch.as_tensor(np.transpose(resized_image, (2, 0, 1)).copy())
```
其中,np.transpose(resized_image, (2, 0, 1))将图片的维度从(h, w, c)转换为(c, h, w),然后使用copy()函数复制数组,避免共享内存。最后调用torch.as_tensor()将numpy数组转换为PyTorch的Tensor。
阅读全文