zoukankan      html  css  js  c++  java
  • 视频概念信息像素色彩

    RGB -> YUV -> H264 编码 -> RTP -> H264 解码 -> YUV -> RGB
    采集(相机)->处理(效果增强)->编码(h264,h265,ffmpeg)->封装(avi,mov,mpg,mpeg,mp4,wmv,rm,rmvb,flv,mkv,ts)->推送(rtsp等协议)->解码->播放


    用海康威视的摄像实时读取视频,读取视频的格式是YV12格式,摄像机进行压缩算法处理后的H264视频流通过RTSP协议传向网络应用层,用户拿到的数据是H264格式,需要用ffmpeg软解码或者arm9等硬解码,得到原来的YV12格式的图像视频,最后经过opencv处理得到RGB格式显示到屏幕。


    h264裸流文件,为什么说是裸流呢,因为把视频编码后写入文件,得到的是一个后缀应该为“.h264”的文件,只能用PotPlayer等功能强大的播放器才能打开,因为它没有容器信息,
    只有装在MP4、MKV之类的容器中,才是一个真正的视频文件
    ===========================================================================================================================
    YUV和RGB的转换:
    Y = 0.299 R + 0.587 G + 0.114 B
    U = -0.1687 R - 0.3313 G + 0.5 B + 128
    V = 0.5 R - 0.4187 G - 0.0813 B + 128

    R = Y + 1.402 (V-128)
    G= Y - 0.34414 (U-128) - 0.71414 (V-128)
    B= Y + 1.772 (U-128)


    YCbCr与RGB的相互转换:
    Y=0.299R+0.587G+0.114B
    Cb=0.564(B-Y)
    Cr=0.713(R-Y)

    R=Y+1.402Cr
    G=Y-0.344Cb-0.714Cr
    B=Y+1.772Cb
    ===========================================================================================================================
    YUV格式有两大类:planar和packed。

    对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。

    对于packed的YUV格式,每个像素点的Y,U,V是连续交替存储的。


    YUV 颜色编码采用的是 明亮度 和 色度 来指定像素的颜色,而色度又定义了颜色的两个方面:色调和饱和度。

    其中:

        Y 表示明亮度(Luminance、Luma)
        U 和 V 表示色度(Chrominance、Chroma)(U,V 分别是蓝色通道和红色通道)

    其中:

        Y 通道数值越高,图片则越亮
        U 通道数值越高,颜色就越接近蓝色
        V 通道数值越高,颜色就越接近红色
    ===========================================================================================================================
           1位色     2种颜色 黑白                     
           2位色     4种颜色                                                           
           4位色     16种颜色                                                          
    GIF    8位色     256种颜色                                                         
           16位色    65536种                                                           
    BMP    24位色    真彩色  2^24 = 16777216      RGB                              
    PNG    32位色    2^24 = 16777215 增加256阶灰度    RGB+alpha通道(透明度)
           36位色    2^24 = 16777215 增加512阶灰度
    ===========================================================================================================================
    720x488分辨率 横向纵向 或 宽高 方向的像素点个数:

    字节数:
    444 -> 720x480x3
    Y:720x480  U(Cb):720x480  V(Cr):720x480

    422 -> 720x480x2
    Y:720x480  U(Cb):720x480/2  V(Cr):720x480/2

    420 -> 720x480x3/2
    Y:720x480  U(Cb):720x480/4  V(Cr):720x480/4
    ===========================================================================================================================
    长x宽   宽x高  列数x行数
    4:3
    1920x1440
    1200x900
    1024x768
    800x600
    640x480   标清   720x480
    480x360   

    16:9
    3840x2160   4k 超清  1080p的4倍
    2560x1440   2k
    1920x1080   1080p  FHD全高清   1080i隔行扫描  1080P逐行扫描
    1600x900    
    1366x768
    1280x720    720p  HD高清
    1024x576
    960x540
    854x480     
    720x405
    640x360
    ===========================================================================================================================
    http://trace.eas.asu.edu/yuv/index.html



  • 相关阅读:
    第一次作业-编译原理概述
    文法和语言总结与梳理(作业四)
    作业三
    作业二
    编译原理概述
    编译原理 作业九
    编译原理 作业八
    编译原理 作业七
    编译原理 作业六
    编译原理 作业五
  • 原文地址:https://www.cnblogs.com/frisk/p/13167599.html
Copyright © 2011-2022 走看看