【发布时间】:2021-08-03 00:45:10
【问题描述】:
我是 python 初学者,对于错误提前表示歉意。 我正在尝试将视频旋转 180 度,然后使用我应该创建的视频。
目前我正在这样做:
import cv2
import numpy as np
#that's my original video - the one that I want to rotate 180 degrees
cap = cv2.VideoCapture('/Users/name/Desktop/VIDEO 12.05/PIC_P01.mp4')
frame_number = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
# Original Frames
frames = []
for i in range(frame_number):
ret, frame = cap.read()
frames.append(frame)
#here's where I try to rotate the video
new = cv2.rotate(frame, cv2.ROTATE_180)
cv2.imshow('output', new)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
#here I'm trying to write the new rotated video
newvideoR = cv2.VideoWriter('PIC_P01R.mp4',0x7634706d, 50, (360, 640))
for jj in range(len(new)):
newvideoR.write(new[jj])
newvideoR.release()
cap.release()
然而,最后,当我去读取文件时,我发现只有一个无法打开的空文件。 由此,我推断我所做的步骤存在错误。 有人对我应该如何做到这一点有任何建议吗?
** 我也尝试更改 cv2.Videowriter 上的参数(例如 fps、大小)但仍然无法正常工作
【问题讨论】:
-
你能定义“仍然不工作”吗?你有输出吗?代码失败了吗?你怎么知道它不起作用?您可以发布错误消息吗?
-
没有错误或警告消息。代码看起来不错,但最后我根本无法用任何程序打开视频(因为它是一个空视频)。
标签: python opencv video rotation video-capture