我是靠谱客的博主 活力皮带,最近开发中收集的这篇文章主要介绍OpenCV-Python----------学习---------视频处理1 视频处理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

  • 1 视频处理
    • 1.1 VideoCapture 类
      • 捕获摄像头视频
      • 播放视频文件
    • 1.2 VideoWriter类
      • 1.2.1 构造函数
        • write函数
        • 释放
      • 1.2.2 保存视频
    • 2 视频操作基础

1 视频处理

1.1 VideoCapture 类

捕获对象=cv2.VideoCapture("摄像头ID号")
retva1=cv2.VideoCapture.isOpend()
# 如果成功,则返回值retval为True
# 如果不成功,则返回值retval为False
retval=cv2.VideoCapture.open(index)
# index为摄像头ID号
# retval为返回值,当摄像头(或者视频文件)被成功打开时,返回值为True
retval=cv.VideoCapture.open(filename)
# 捕获帧
retval,image=cv2.VideoCapture.read()
# image是返回的捕获到的帧,如果没有帧被捕获,则该值为空。
# retval表示捕获是否成功,如果成功则该值为True,不成功则为False。
# 释放
None=cv2.VideoCapture.release()

捕获摄像头视频

#捕获摄像头视频
cap=cv.VideoCapture(0)
while(cap.isOpened()):
    ret,frame=cap.read()
    cv.imshow('frame',frame)
    c=cv.waitKey(1)
    if c==27: #ESC键
        break
cap.release()
cv.destroyAllWindows()

播放视频文件

cv2.waitKey()
#参数较小,则说明每一帧停留的时间较短,视频播放速度会较快
#参数较大,则说明每一帧停留的时间较长,视频播放速度会较慢
#该参数通常是ms,通常设置为25即可
cap=cv.VideoCapture('out.avi')
while(cap.isOpened()):
    ret,frame=cap.read()
    cv.imshow('frame',frame)
    c=cv.waitKey(25)
    if c==27: #ESC键
        break
cap.release()
cv.detroyAllWindows()

1.2 VideoWriter类

1.2.1 构造函数

<VideoWrite> = cv2.VideoWriter(filename,fourcc,fps,frameSize[,isColor])
# filename指定输出目标视频的存放路径和文件名。
# fourcc表示视频编/解码类型。  使用cv2.VideoWriter_fourcc()来指定视频编码格式。
#          若参数为-1,则程序会弹出一个对话框。
# fps为帧速率
# isColor表示是否为彩色图像

write函数

None=cv2.VideoWriter.write(image)#用于写入下一帧视频
# iamge是要写入的视频帧,通常要求彩色图像的格式为BGR模式

释放

None=cv2.VideoWriter.release()

1.2.2 保存视频

cap=cv.VideoCapture('out.avi')
fourcc=cv.VideoWriter_fourcc('I','4','2','0')
out = cv.VideoWriter('output.avi',fourcc,20,(640,480))
while(cap.isOpened()):
    ret,frame=cap.read()
    if ret==True:
        out.write(frame)
        cv.imshow('frame',frame)
        if cv.waitKey(1)==27:
            break
        else:
            break
cap.release()
out.release()
cv.detroyAllWindows()

2 视频操作基础

cap=cv.VideoCapture('out.avi')
while(cap.isOpened()):
    ret,frame=cap.read()
    frame=cv.Canny(frame,100,200)
    cv.imshow('frame',frame)
    c = cv.waitKey(1)
    if c==27: #ESC键
        break
cap.release()
cv.destroyAllWindows()

最后

以上就是活力皮带为你收集整理的OpenCV-Python----------学习---------视频处理1 视频处理的全部内容,希望文章能够帮你解决OpenCV-Python----------学习---------视频处理1 视频处理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部