opencv学习笔记1
video传输原理
Cam —> video —> MJPG格式编码(压缩) —> 口口口(数据)—> 通过USB传给计算机 —> decode —> 一帧帧图像(frame)
现在绝大多数USB摄像头所采用的是免驱摄像头(采用UVC驱动),一般有两种传输格式,YUY2和MJPG,前者是无压缩图像格式的视频(raw格式,原始图像),系统资源占用少(因为不用解码),不需要解码器,缺点是帧率稍慢(受限于USB分配的带宽),后者是相当于JPEG图像压缩格式,优点是帧率高(视频开启快,曝光快),缺点是影像有马赛克,并且需要解码器,会占用PC系统资源。引用自原博客
FOURCC格式:FourCC全称Four-Character Codes,代表四字符代码 (four character code), 它是一个32位的标示符,其实就是typedef unsigned int FOURCC;是一种独立标示视频数据流格式的四字符代码。
如MJPG, H264, H265。
- JPEG:( .jpg .jpeg)压缩6MB图像—>800KB (满足USB2.0传输速率 )
- MJPG:一系列静态.jpg组成的视频
- 头: 说明了图片的size type(8/..bit像素值 ch3通道)
读取函数:
- img:mat frame;
- video: VideoCapture cam(0);
图片格式
- JPEG 是目前最常见的图片格式,它诞生于 1992年,是一个很古老的格式。它只支持有损压缩,其压缩算法可以精确控制压缩比,以图像质量换得存储空间。由于它太过常见,以至于许多移动设备的 CPU都支持针对它的硬编码与硬解码。
- PNG 诞生在 1995 年,比 JPEG 晚几年。它本身的设计目的是替代 GIF 格式,所以它与 GIF有更多相似的地方。PNG 只支持无损压缩,所以它的压缩比是有上限的。相对于 JPEG 和 GIF 来说,它最大的优势在于支持完整的透明通道。
- GIF 诞生于 1987 年,随着初代互联网流行开来。它有很多缺点,比如通常情况下只支持 256 种颜色、透明通道只有 1bit、文件压缩比不高。它唯一的优势就是支持多帧动画,凭借这个特性,它得以从 Windows 1.0 时代流行至今,而且仍然大受欢迎。
- 详细学习移至博客➡️https://blog.csdn.net/zzwu/article/details/69356846
视频格式
视频格式是视频播放软件为了能够播放视频文件而赋予视频文件的一种识别符号。
视频格式可以分为适合本地播放的本地影像视频和适合在网络中播放的网络流媒体影像视频两大类。尽管后者在播放的稳定性和播放画面质量上可能没有前者优秀,但网络流媒体影像视频的广泛传播性使之正被广泛应用于视频点播、网络演示、远程教育、网络视频广告等等互联网信息服务领域。
中文名 视频格式
外文名 Moving Picture Experts Group
常见格式MPEG/MPG/DAT/MP4
手机格式3GP/MP4
视频编码
所谓视频编码方式就是指通过特定的压缩技术,将某个视频格式的文件转换成另一种视频格式文件的方式。视频流传输中最为重要的编解码标准有国际电联的H.261、H.263、H.264,运动静止图像专家组的M-JPEG和国际标准化组织运动图像专家组的MPEG系列标准,此外在互联网上被广泛应用的还有Real-Networks的RealVideo、微软公司的WMV以及Apple公司的QuickTime等。
格式和编码格式的区别与联系
- 编解码格式是数据按那种方式编码压缩,便于网络传输和降低带宽的需要;
- 文件格式是将内容按具体的编码格式压缩后,以该文件所规定的格式进行封装的结果,即容器的概念。
- 文件播放则按容器数据的存放方式解析,提取出编码数据然后解码后交由播放设备进行播放。
Appendix:
[1]名词解释来自于百度百科➡️https://baike.baidu.com
[2]视频截图来自于bilibili➡️https://www.bilibili.com/video/av22284455/?p=2