我正在尝试将一些OpenCV图像分析(使用Python3)从本地Jupyter笔记本迁移到Google Colab。
我原来的Jupyter Notebook代码可以正常工作,并且视频可以正常渲染(在其自己的Window中)(请参阅下面的代码子集)。此代码使用cv2.imshow()渲染视频。在Colab中使用相同的“ cv2.imshow()”代码时,视频无法渲染。
基于this suggestion-我在Colab中切换为使用cv2_imshow()。但是,这种更改导致垂直序列为470张图像(每帧1张),而不是正在播放的视频。
有人可以概述如何在Colab中渲染由OpenCV处理的视频吗?
import React, { Component } from 'react';
class ValidationComponent extends Component
{
render()
{
return <p>{this.props.wordlength>=5?'Text long enough':'Text too short'}</p>
}
}
export default ValidationComponent;
答案 0 :(得分:1)
方法cv2.imshow()
显示图像。因此,您要做的基本上是逐帧读取整个视频并显示该帧。要观看整个视频,您需要将这些帧写回到VideoWriter
对象中。
因此,请在VideoWriter
循环之前创建一个while
对象:
res=(360,240) #resulotion
fourcc = cv2.VideoWriter_fourcc(*'MP4V') #codec
out = cv2.VideoWriter('video.mp4', fourcc, 20.0, res)
使用write()
方法处理后写帧
out.write(frame)
最后,以与VideoCapture
out.release()
现在,将以您的名字 video.mp4
录制视频。