码迷,mamicode.com
首页 > 其他好文 > 详细

视频概念信息像素色彩

时间:2020-06-20 11:23:39      阅读:59      评论:0      收藏:0      [点我收藏+]

标签:http   原来   推送   指定   为什么   一个   没有   pac   蓝色   

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



视频概念信息像素色彩

标签:http   原来   推送   指定   为什么   一个   没有   pac   蓝色   

原文地址:https://www.cnblogs.com/frisk/p/13167599.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!