Ste*_*eve 2 python opencv opencv3.0 google-colaboratory
我正在尝试将一些 OpenCV 图像分析(使用 Python3)从本地 Jupyter 笔记本迁移到 Google Colab。
我的原始 Jupyter Notebook 代码运行良好,视频呈现良好(在其自己的窗口中)(请参阅下面的代码子集)。此代码使用 cv2.imshow() 来渲染视频。在 Colab 中使用相同的“cv2.imshow()”代码时,视频不会呈现。
基于这个建议- 我改用 Colab 中的 cv2_imshow() 。但是,此更改导致垂直系列 470 个图像(每帧 1 个),而不是正在播放的视频。
谁能概述如何在 Colab 中渲染 OpenCV 处理的视频?
import numpy as np
import cv2
cap = cv2.VideoCapture(r"C:\.....Blocks.mp4")
counter = 0
while(True):
# Capture frame-by-frame
ret, frame = cap.read()
cv2.imshow(frame)
print("Frame number: " + str(counter))
counter = counter+1
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)
该方法cv2.imshow()
显示图像。因此,您所做的基本上是逐帧读取整个视频并显示该帧。要查看整个视频,您需要将这些帧写回VideoWriter
对象。
因此,VideoWriter
在while
循环之前创建一个对象:
res=(360,240) #resulotion
fourcc = cv2.VideoWriter_fourcc(*'MP4V') #codec
out = cv2.VideoWriter('video.mp4', fourcc, 20.0, res)
Run Code Online (Sandbox Code Playgroud)
使用write()
方法处理后写帧
out.write(frame)
Run Code Online (Sandbox Code Playgroud)
最后,以与释放对象相同的方式释放对象 VideoCapture
out.release()
Run Code Online (Sandbox Code Playgroud)
现在,一个名为video.mp4的视频将写入您的文件中
归档时间: |
|
查看次数: |
5122 次 |
最近记录: |