计算机视觉OpenCv学习系列:第九部分、视频读写

第一节、视频读写处理

1.视频标准与格式


视频标准与格式:

  • SD(Standard Definition)标清480P
  • HD(High Definition)高清720P/1080P
  • UHD(Ultra High Definition)超高清4K/2160P

分辨率表示

  • SD-640x480, 704x480, 720x480, 848x480等
  • HD-960x720,1280x720,1440x1080,1920x1080
  • UHD-4K,2160P

图片压缩的时候清晰度选取越高,所占内存也越大。

在这里插入图片描述

2.视频读写与函数


在这里插入图片描述

  • filename表示视频文件
  • Index表示USB摄像头或者web camera的索引,index = 0表示电脑自带的摄像头
  • apiPreference = CAP_ANY意思自动决定第三方视频库如: cv.CAP_FFMPEG, cv.CAP_DSHOW,OpenCV并没有自己集成视频的编码与解码,所以需要自己指定使用哪个第三方库来完成视频读写。多数情况不设这个参数,让电脑自行选择。
# VideoCaput的get方法
1.cv.CAP_PROP_FRAME_WIDT  # 每一帧的宽
2.cv.CAP_PROP_FRAME_HEIGHT  # 每一帧的高度
3.cv.CAP_PROP_FPS  # 每一秒多少张图(帧数)
# 帧越高计算机处理能力越强,一秒钟30帧观感比较好,当一秒超过3帧的时候我们就认为他是连续播放图片(视频)
4.cv.CAP_PROP_FOURCC  # 获取视频编码格式(MP4,AVI等等)
5.cv.CAP_PROP_FRAME_COUNT  # 视频流总帧数

cv.VideoWriter( 
filename, 保存文件名称
fourcc, 编码方式
fps,  帧率
frameSize 视频帧大小,与实现大小相符(取决于接收方电脑1s能跑多少帧)
[, isColor]	) ->	<VideoWriter object>

当视频无法保存时可能是fps帧率=0,或者设定的framesize大小与电脑实际运行返回的framesize大小不一致。

3.代码练习与测试


注意:摄像头的权限控制与释放,当我们使用完摄像头之后要释放资源。

  • cap.release()
  • writer.release()
# 视频读写处理
def video_demo():
    # 读取视频文件
    cap = cv.VideoCapture(r"F:\python\opencv-4.x\samples\data\vtest.avi")
    # 获取视频帧率fps
    fps = cap.get(cv.CAP_PROP_FPS)
    # 获取每帧的宽度
    frame_w = cap.get(cv.CAP_PROP_FRAME_WIDTH)
    # 获取每帧的高度
    frame_h = cap.get(cv.CAP_PROP_FRAME_HEIGHT)
    print("fps:", fps, "frame_w", frame_w, "frame_h", frame_h)
    # 编码方式
    # 指定编码方式为vp09
    # fourcc = cv.VideoWriter_fourcc(*'vp09')
    # 计算机自动获取编码格式
    fourcc = cap.get(cv.CAP_PROP_FOURCC)
    # 注意将编码格式fourcc转换成int类型
    # 定义写入一个视频
    writer_mp4 = cv.VideoWriter('output.mp4', int(fourcc), fps, (int(frame_w), int(frame_h)))
    # 循环读取图片完成视频
    while True:
        # 摄像头读取,ret为是否成功打开摄像头,true,false。 frame为视频的每一帧图像
        ret, frame = cap.read()
        if ret is not True:
            break
        cv.imshow("frame", frame)
        # 间隔1ms播放下一帧
        c = cv.waitKey(1)
        if c == 27:
            break
        # 写入视频帧,注意初始的帧数要和实际返回帧数一致
        writer_mp4.write(frame)

    # 释放资源
    cap.release()
    writer_mp4.release()

    cv.waitKey(0)
    cv.destroyAllWindows()
    # 视频文件执行之后会有警告但是不影响使用

结果示例:

在这里插入图片描述

# 调用摄像头读写
def video_face_demo():
    # 程序执行开始时间
    a = time.time()
    print(a)
    # 读取视频文件
    cap = cv.VideoCapture(0)
    # # 更改分辨率大小和fps大小
    # cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1280)
    # cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 960)
    # cap.set(cv2.CAP_PROP_FPS, 70)
    # resize = (int(cap.get(cv.CAP_PROP_FRAME_WIDTH)), int(cap.get(cv.CAP_PROP_FRAME_HEIGHT)))
    # print(resize)

    # 获取视频帧率fps
    fps = cap.get(cv.CAP_PROP_FPS)
    # 获取每帧的宽度
    frame_w = cap.get(cv.CAP_PROP_FRAME_WIDTH)
    # 获取每帧的高度
    frame_h = cap.get(cv.CAP_PROP_FRAME_HEIGHT)
    print("fps:", fps, "frame_w", frame_w, "frame_h", frame_h)
    # 记录调用时长
    print(time.time() - a)
    print(time.strftime('%Y-%m-%d %H:%M:%S'))
    while True:
        # 获取每一帧的帧率
        fps = cap.get(cv.CAP_PROP_FPS)
        print(fps)
        # 摄像头读取,ret为是否成功打开摄像头,true,false。 frame为视频的每一帧图像
        ret, frame = cap.read()
        # 摄像头是和人对立的,将图像垂直翻转
        frame = cv2.flip(frame, 1)
        cv.imshow("video", frame)
        # 10ms显示一张图片
        c = cv.waitKey(10)
        if c == 27:
            break

    # 释放资源
    cap.release()
    cv.waitKey(0)
    cv.destroyAllWindows()
    # 视频文件执行之后会有警告但是不影响使用

学习参考

本系列所有OpenCv相关的代码示例和内容均来自博主学习的网站:opencv_course

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: CSDN提供了OpenCV 4计算机视觉的Python语言实现的下载。OpenCV是一个流行的计算机视觉库,它提供了在图像和视频处理中常用的函数和工具。Python是一个简单易学的编程语言,也是OpenCV的主要支持语言之一。 要下载OpenCV 4的Python语言实现,可以按照以下步骤进行操作: 1. 首先,打开CSDN网站,并在搜索栏中输入"OpenCV 4计算机视觉:Python语言实现"的关键词。点击搜索按钮。 2. 在搜索结果中找到相应的下载链接。通常,下载链接之前会有一些介绍和说明,可以帮助你理解该资源的相关信息。 3. 点击下载链接,可能需要先进行登录或注册。如果是付费资源,可能需要完成购买。 4. 下载完成后,将下载的文件保存到本地电脑的某个文件夹中。可以选择一个容易找到的位置,方便后续的安装和使用。 5. 解压下载的文件(如果有压缩文件),得到一个文件夹。该文件夹中应该包含有OpenCV 4的Python代码和相关的示例。 6. 打开Python集成开发环境(IDE),例如PyCharm、Anaconda等,并创建一个新的Python项目。 7. 将解压后得到的文件夹中的Python代码复制到新项目的文件夹中。 8. 在Python项目中运行OpenCV 4的Python代码。可以使用IDE提供的运行按钮或者在命令行中运行相应的命令。 通过以上步骤,你可以从CSDN上下载OpenCV 4的Python语言实现,并在本地搭建和运行计算机视觉应用程序。记得阅附带的文档和示例,以便更好地理解和应用OpenCV 4库中的函数和方法。 ### 回答2: 要在CSDN上下载OpenCV 4计算机视觉:Python语言实现的代码,你可以按照以下步骤进行操作: 1. 打开CSDN网站并登录你的账号。 2. 在网站上方的搜索栏中,输入“OpenCV 4计算机视觉:Python语言实现”并点击搜索按钮。 3. 在搜索结果列表中找到与你要下载的内容最相关的文章或资源。 4. 点击进入该文章或资源的详细页面。 5. 在详细页面上,你可以找到文章作者提供的代码下载链接,通常会以类似于“Download”、“Code Download”或者“资源下载”等文字来标识。 6. 点击下载链接,你将被重定向到一个新的页面。 7. 在新页面中,你可能需要先进行人机验证(如输入验证码)。 8. 通过验证后,你可以直接点击下载按钮来下载代码资源。 9. 下载完成后,你可以将代码解压缩到你想要保存的文件夹中。 10. 现在,你可以在本地计算机上使用Python编辑器打开代码,进行阅和运行。 在下载过程中,你可能会遇到广告或其他弹窗,要小心避免误点击。有时,某些资源需要付费或注册后才能下载,所以请确保你已阅好相关信息。 以上就是在CSDN上下载OpenCV 4计算机视觉:Python语言实现的简要步骤说明。希望这对你有帮助! ### 回答3: 要在CSDN上下载OpenCV 4计算机视觉的Python语言实现,可以按照以下步骤进行操作: 1. 打开CSDN官网,或者在搜索引擎中搜索CSDN官网进入主页。 2. 在CSDN主页的搜索栏中输入关键词"OpenCV 4计算机视觉 Python",点击搜索图标。 3. 在搜索结果中找到与所需下载相关的文章或教程,点击进入详情页面。 4. 在详情页面中,可以查看相关内容的详细介绍和下载链接。找到合适的下载链接,点击进入下载页面。 5. 在下载页面中,可以选择下载的方式和格式。选择Python版本,并点击下载按钮。 6. 根据浏览器的设置,可能会出现弹窗询问是否保存文件,选择保存文件并选择保存路径。 7. 下载完成后,找到保存路径下的文件,并解压缩(如果需要)。 8. 打开解压后的文件夹,可以看到其中包含的Python代码和相关数据文件。 9. 打开Python开发环境(如Anaconda),创建一个新的Python项目。 10. 将下载的代码文件复制到新项目中,并确保相关依赖项已安装(如OpenCV、NumPy等)。 11. 打开代码文件,按照代码中的说明运行Python程序。 12. 根据需要,可以根据代码的注释和说明进行修改和调试。 13. 运行程序后,可以看到计算机视觉相关的功能实现,例如图像处理、目标检测等。 14. 根据实际需求进行调整和改进,并保存结果或输出。 以上是在CSDN上下载OpenCV 4计算机视觉Python语言实现的一般步骤,具体过程可能因教程和代码的不同而有所差异。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Liuyc-Code boy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值