opencv 如何编写视频,然后在谷歌colab中使用cv2下载?

v2g6jxz6  于 2022-11-15  发布在  其他
关注(0)|答案(1)|浏览(128)

我尝试对视频进行一些图像处理,然后使用colab上的opencv保存生成的视频。但是,我无法访问正在写入的生成的视频文件。

import cv2
from google.colab.patches import cv2_imshow
import numpy as np

fourcc = cv2.VideoWriter_fourcc(*'H264')
cap = cv2.VideoCapture(vid_file)
out = cv2.VideoWriter('output.mp4',fourcc,30.0,(1124,1080))
cnt = 0
ret = True
while(ret):

  ret,frame = cap.read()
  print(cnt,end=' ')

  # check if prey was tracked on this frame
  match = np.where(prey_frames==cnt)[0]
  if match:
    prey_frame = match[0]
    # print(prey_frame)
    image = cv2.circle(frame,(int(prey_px[prey_frame].x),95+int(prey_px[prey_frame].y)),
                       radius=5,color=(255,0,255),thickness=2)
  else:
    image = frame

  out.write(image)
  cnt += 1

out.release()
cap.release()
cv2.destroyAllWindows()

据我所知,这应该写入一个名为“output.mp4”的文件。这段代码运行时没有错误,但当前目录中没有文件,也没有该名称的文件可供下载(使用files.download('output.mp4')返回“找不到文件”错误)。
任何帮助都将不胜感激!

vzgqcmou

vzgqcmou1#

我遇到过几次这个问题,我相信这与Colab的操作环境只支持少数视频编码有关。我能够让视频编写者使用以下代码:
fourcc = cv2.VideoWriter_fourcc('F','M','P','4')

相关问题