使用python open cv从视频中提取帧数组将返回false,并且不返回图像
我使用上面的代码从mp4视频中提取帧使用python open cv从视频中提取帧数组将返回false,并且不返回图像,python,opencv,video-capture,opencv3.0,Python,Opencv,Video Capture,Opencv3.0,我使用上面的代码从mp4视频中提取帧 import cv2 vidcap = cv2.VideoCapture('9091694436881747630.mp4') count = 0 success = True while success: success,image = vidcap.read() cv2.imwrite("frame%d.jpg" % count, image) # save frame as JPEG file if cv2.waitKey(10
import cv2
vidcap = cv2.VideoCapture('9091694436881747630.mp4')
count = 0
success = True
while success:
success,image = vidcap.read()
cv2.imwrite("frame%d.jpg" % count, image) # save frame as JPEG file
if cv2.waitKey(10) == 27: # exit if Escape is hit
break
count += 1
它应该以[R,G,B]数组的形式返回成功标志和图像的元组。但是,对于所有视频,它都返回false。能否尝试显示完整的文件名?像
vidcap=cv2.VideoCapture('/home/username/folder/9091694436881747630.mp4')
?您可以尝试不同的视频,最好使用MJPG压缩,以确保它不是编解码器问题吗?如果没有视频,只需创建一个黑色图像,并使用MJPG格式设置将其多次写入cv2.VideoWriter,然后尝试打开该文件而不是.mp4。我想,vidcap=cv2.VideoCapture('/home/username/folder/9091694436881747630.mp4')可能有问题
因为即使我将文件名更改为不在文件夹中的随机文件名,也会出现相同的错误。我试图给出完整路径,但仍然没有解决问题。但是下面的代码可以工作,并给出输出fo=open(“9091694436881747630.mp4”,“r”)打印(“文件名:”,fo.Name)#9091694436881747630.mp4
,通常这是一个编解码器问题。请尝试使用未压缩或mjpg压缩文件。您可以尝试显示完整的文件名吗?像vidcap=cv2.VideoCapture('/home/username/folder/9091694436881747630.mp4')
?您可以尝试不同的视频,最好使用MJPG压缩,以确保它不是编解码器问题吗?如果没有视频,只需创建一个黑色图像,并使用MJPG格式设置将其多次写入cv2.VideoWriter,然后尝试打开该文件而不是.mp4。我想,vidcap=cv2.VideoCapture('/home/username/folder/9091694436881747630.mp4')可能有问题
因为即使我将文件名更改为不在文件夹中的随机文件名,也会出现相同的错误。我试图给出完整路径,但仍然没有解决问题。但是下面的代码可以工作,并给出输出fo=open(“9091694436881747630.mp4”,“r”)打印(“文件名:”,fo.Name)#9091694436881747630.mp4
,通常这是一个编解码器问题。请尝试解压缩或mjpg压缩文件
success,image = vidcap.read()