热线电话:13121318867

登录
2019-01-26 阅读量: 764
keras从VideoCapture预测预训练模型

我的代码是

model = ResNet50(weights='imagenet')

def read_cam(video_capture):

if video_capture.isOpened():

windowName = "yolo"

cv2.namedWindow(windowName, cv2.WINDOW_NORMAL)

cv2.resizeWindow(windowName, 1280, 720)

cv2.moveWindow(windowName, 0, 0)

cv2.setWindowTitle(windowName, "Yolo Object Detection")

while True:

# Check to see if the user closed the window

if cv2.getWindowProperty(windowName, 0) < 0:

break

ret_val, frame = video_capture.read()

print(frame)

frame = np.expand_dims(frame, axis=0)

frame = preprocess_input(frame)

preds = model.predict(frame)

# print(preds)

print('Predicted:', decode_predictions(preds, top=3)[0])

但是,这会导致一些错误。首先,显然,它期待一个不同大小的阵列。

解决办法:使用cv2。resize函数在调用model.predict之前更改帧,因为您正在使用的预训练模型仅接受大小为224x224的图像。

frame=cv2.resize(frame,(224,224))

0.0000
1
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子