2015-05-09 117 views
4

我想从视频图像获取,并将其存储在“.JPEG”或“巴纽”格式,以获得从视频图像,请帮助我如何与OpenCV的做到这一点我的代码是如何使用OpenCV的蟒蛇

import cv2 
 
vidcap = cv2.VideoCapture('video1.mp4') 
 
success,image = vidcap.read() 
 
count = 0; 
 
print "I am in success" 
 
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

我在这里试图通过帧摆脱视频帧图像并保存为帧1,帧2,帧3

+0

您的代码我对获取图像的代码从视频中,如图所示,为我工作。 – John1024

+0

其实我是新来的python它只是生成python py.bak文件对我来说除了打开简历之外,还有其他的依赖项,比如'ffmpeg' – programminglover

+0

Python不会生成'.bak'文件。你的编辑必须这样做。没有其他的依赖关系。从命令行,只需运行'python script.py',在那里你应该把'script.py'替换成其中包含代码的文件的名称。 OpenCV非常详细,所以如果代码在终端上产生大量输出,不要感到惊讶。如果出现问题,python会产生堆栈跟踪。在这种情况下,请将堆栈跟踪完整复制并粘贴到问题中。 – John1024

回答

5

这是我使用在视频读取和保存断帧:

import cv2 
import os 

def video_to_frames(video, path_output_dir): 
    # extract frames from a video and save to directory as 'x.png' where 
    # x is the frame index 
    vidcap = cv2.VideoCapture(video) 
    count = 0 
    while vidcap.isOpened(): 
     success, image = vidcap.read() 
     if success: 
      cv2.imwrite(os.path.join(path_output_dir, '%d.png') % count, image) 
      count += 1 
     else: 
      break 
    cv2.destroyAllWindows() 
    vidcap.release() 

video_to_frames('../somepath/myvid.mp4', '../somepath/out') 
0

这是OpenCV的

import cv2 
print(cv2.__version__) 
vidcap = cv2.VideoCapture("Malar.mp4") 
print vidcap.read() 
success,image = vidcap.read() 
count = 0 
success = True 
while success: 
    success,image = vidcap.read() 
    print 'Read a new frame: ', success 
    cv2.imwrite("frame%d.jpg" % count, image)  # save frame as JPEG file 
    count += 1