import numpy as np
import cv2
from PIL import Image
from torchvision import transforms
data_transform = transforms.Compose(
[transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])])
cap = cv2.VideoCapture("./1.mp4")
while open:
ret, frame = cap.read()
frame = np.asarray(frame)
frame= Image.fromarray(frame)
frame = data_transform(frame)
if frame is None:
break
if ret == True:
cv2.imshow('result',frame)
if cv2.waitKey(10) & 0xFF == 27:
break
cap.release()
cv2.destroyAllWindows()
对视频每一帧transforms操作报错:
Traceback (most recent call last):
File "D:/123/pytorch_classification/Test5_resnet/video test.py", line 29, in <module>
cv2.imshow('result',frame)
TypeError: Expected Ptr<cv::UMat> for argument 'mat'
新手几乎什么也不懂,麻烦好心人解答