什么是视频数据,怎么处理视频数据

什么是视频数据

       百度百科对于视频数据的定义:视频数据是指连续的图像序列,其实质是由一组组连续的图像构成的,而对于图像本身而言,除了其出现的先后顺序而外,没有任何结构信息。

视频数据有什么特点

1.信息内容丰富
        视频数据是随时间变化的图像流,含有更为丰富的其他媒体所无法表达的信息和内容。
2.数据量巨大
        视频数据的数据量比结构记录的文本数据大约大七个数量级。视频数据对存储空间和传输信道的要求很高,即使是一小段的视频剪辑,也需要比一般字符型数据大得多的存储空间。通常在管理视频数据时都要对其进行压缩编码,但是压缩后的视频数据量仍然很大。
3.时空二重性的复杂结构关系
        视频数据由多幅连续的图像序列构成,因而视频段之间的关系属性复杂,既有时间属性又有空间属性。

深度学习处理视频需要考虑什么

1.  图像分辨率

        视频都由多张图像组成,图像的分辨率能代表视频质量的好坏(指清晰、和逼真程度)。分辨率越高存储的信息越多,占用的空间也就越大,训练需要的显卡资源也越多,考虑到资源的限制,我们一般会把单张的图片resize到224*224。

2.  视频的帧率

        视频的帧率是指视频播放1秒时,播放量多少帧图像,假设一部影片的帧率是30fps,播放一秒钟视频就在屏幕上闪现了30张图像,60fps也同理。在训练过程中我们大概率不需要非常高的帧率,这时就需要手动做抽帧了(抽帧后数据量减少,有效缓解硬件压力)

        图像分辨率和视频帧率是数据预处理时最先考虑的事情,拿到了这个数据我们就需要考虑使用少分辨率、多少帧率的数据进行标注、训练。

处理视频数据常用的库

        我在工作中常用的视频处理库有opencv、numpy。opencv可以读取图像、视频数据,也能获取到图像的分辨率、帧率等信息,numpy主要是对数据做计算操作。

opencv图标
opencv

使用opencv加载视频数据

下面的代码主要作用:加载本地视频数据并播放

import cv2
video = cv2.VideoCapture('视频所在位置')


while True:
    # 读取图像
    retval ,frame = video.read()
    
    if retval == True:
        # 显示图像
        cv2.imshow('video',frame)
        cv2.waitKey(20)
    
    else:
        break
    
# 释放资源
video.release()
cv2.destroyAllWindows()

结尾

        在这篇blog中简单的讲了视频数据的特征,并分析了哪些视频特征的作用,简单使用opencv加载了本地视频做可视化,后续我们将讲述怎么对图像做resize、抽帧。感谢您的观看,觉得写的还可以请帮忙点个赞和收藏!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值