我正在观看视频,并使用以下代码从视频中获取帧。视频是24秒,我有742张图像。我想在我的代码中调整这部分,以便从视频中获得更多的图像。
并且我得到的帧也是逆时针倾斜90°。请帮帮我。
import cv2
vidcap = cv2.VideoCapture('20180530_115209.mp4')
success,image = vidcap.read()
count = 0
success = True
while success:
cv2.imwrite("sushant_2/image/frame%d.jpg" % count, image) # save frame as JPEG file
success,image = vidcap.read()
print('Read a new frame: ', count)
count += 1
答案 0 :(得分:0)
视频中的帧数有限,您已经在提取所有。
vidcap.read
抓取,解码并返回下一个视频帧,当没有更多帧时,它将返回false
,这就是您正在处理的内容。
要旋转尝试此操作(将学位更改为您需要的程度):
import cv2
vidcap = cv2.VideoCapture('20180530_115209.mp4')
success,image = vidcap.read()
h, w = image.shape[:2]
M = cv2.getRotationMatrix2D((w / 2, h / 2), 90, 1.0)
count = 0
success = True
while success:
rotated90 = cv2.warpAffine(image, M, (h, w))
cv2.imwrite("sushant_2/image/frame%d.jpg" % count, rotated90) # save frame as JPEG file
success,image = vidcap.read()
print('Read a new frame: ', count)
count += 1