python视频处理简单问题

qq_20266415 2016-09-09 08:41:24
我用的是pythonxy,已经集成了numpy和opencv2.4.7-11.我想读取本地视频数据。写了以下代码
import numpy as np
import cv2
import cv2.cv

#from cv2 import cv

cap = cv2.VideoCapture('C:\\1 _1.avi')
cap.read()

可是不知道为何通过cap读不出read()方法,也读不出isopen()等方法,但是cv2的方法都能读取出来。我把视频数据放到本地C盘目录下了,我不确定是因为视频读取没有找到路径的问题,还是库不全,或者配置有问题,请各位大神给提示一下,谢谢。
...全文
508 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
A4OUTMAN 2017-02-24
  • 打赏
  • 举报
回复
cv2.imwrite("C:\\pic.jpg", frame)
qq_20266415 2016-09-13
  • 打赏
  • 举报
回复
请教一下楼上 'video_result_%s.jpg' % i是什么意思?我没看明白,谢谢
qq_20266415 2016-09-12
  • 打赏
  • 举报
回复
我想将每一帧保存在C盘的Video文件夹下,应如何在上述代码中进行修改,请指教。
qq_20266415 2016-09-12
  • 打赏
  • 举报
回复
import numpy as np import cv2 import cv2.cv import os #cap = cv2.VideoCapture(0) filename = os.path.join('C:\\1 _1.avi') cap = cv2.VideoCapture(filename) # Define the codec and create VideoWriter object #fourcc = cv2.VideoWriter_fourcc(*'XVID') #fourcc = cv2.cv.CV_FOURCC(*'XVID') #fourcc = cv2.cv.CV_FOURCC(*'X264') #fourcc = cv2.cv.FOURCC(*'X264') fourcc = cv2.cv.FOURCC(*'XVID') #out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480)) out = cv2.VideoWriter('output.avi',fourcc, 25.0, (1024,768), True) while(cap.isOpened()): ret, frame = cap.read() if ret==True: frame = cv2.flip(frame,0) #读取视频的每一帧 # write the flipped frame cv2.imshow('frame',frame)#创建一个窗口名为“frame”,显示每一帧视频 #out.write(frame) cv2.imwrite('video_result.jpg', frame) #怎么把每个frame帧保存在C盘根目录下 if cv2.waitKey(1) & 0xFF == ord('q'): break else: break # Release everything if job is finished cap.release() #out.release() cv2.destroyAllWindows()
屎克螂 2016-09-12
  • 打赏
  • 举报
回复
你贴代码,没玩过这个库,你这些多查下api应该能找到
qq_20266415 2016-09-12
  • 打赏
  • 举报
回复
如果我想保存视频的每一帧到指定的C盘某个文件夹中,应如何做呢?我在网上看到的代码都是保存在默认路径中的,并且名称固定的话,只保存最后一帧图片。
屎克螂 2016-09-12
  • 打赏
  • 举报
回复
i = 0
while(cap.isOpened()):
    ret, frame = cap.read()
    if ret==True:
        i += 1
        frame = cv2.flip(frame,0) #读取视频的每一帧
        # write the flipped frame
        
        cv2.imshow('frame',frame)#创建一个窗口名为“frame”,显示每一帧视频
        #out.write(frame)
        
        cv2.imwrite('video_result_%s.jpg' % i, frame) #怎么把每个frame帧保存在C盘根目录下

        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    else:
        break
屎克螂 2016-09-11
  • 打赏
  • 举报
回复
你是说 cap.read() 报错还是怎么样? 1.去掉自己命名的一个叫cv2的文件 2.重装cv2 3.换个视频 4.cap.read() 加个打印 print cap.read()

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧