美文网首页
媒体开发入门之数字图像和视频基础知识

媒体开发入门之数字图像和视频基础知识

作者: you的日常 | 来源:发表于2022-03-09 11:55 被阅读0次

多媒体开发是软件开发中非常重要的一个大方向。我们日常生活中看的电影电视、听的音乐广播、户外广告、安防监控摄像头、视频直播、视频会议等等,其核心都是多媒体系统。所以,要参与这些系统的开发,就必须熟悉多媒体开发技术,而数字图像和视频,又是多媒体最基础的部分,作为开发人员,必须了解这些基础知识,才能才具体的开发中游刃有余。本文主要就是讲解一下这些图像和视频的基础知识,帮助初学者理解相关项目和代码的里面的专业知识。

数字图像的概念,RGB 的概念和实际操作

什么是数字图像呢?真实的图像是连续的,但是计算机是数字化的,只能描述离散的行为,所以数字图像其实就是一个一个离散的像素点,如下图所示,用编程语言来描述,就是一个二维数组,width 和 height 是图像的两个属性,表示其宽度和高度,所以这个数组就是从 image[0][0] 到 image[width-1][height-1]。
数组每个元素表示一个像素,我们说的 200 万像素,就是大约 200 万个点(1920x1080,就是 width 1920、height 1080,大约是 200w 左右),1000 万像素就是 1000 万个点,显然,像素点越多,图像越精细。

在这里插入图片描述

那么每个像素点如何描述呢?小时候有那种混色实验,就是将不同的食用色素,红色绿色蓝色的,混合,可以组成任何颜色。物理学家告诉我们,所有颜色都可以分解成红色+绿色+蓝色,就是我们说的 RGB (Red,Green,Blue)。所以计算机描述一个像素点一般就用三个字节,一个 R、一个 G、一个 B,通过调整 RGB 的值可以组成任意颜色。

为了直观了解 RGB 的概念,可以打开 Windows 自带的画图软件(mspaint),打开其“编辑颜色”界面,选择调色板的颜色,可以看到 RGB 值,改变 RGB 值,可以看到颜色的变化。

在这里插入图片描述

最后我们再自己造一个数字图像试试,由于 BMP 图像有文件头,还有颠倒等问题。为了简单,我们不用 BMP,直接用 Python 操作数组,直接显示,下面演示了一个给每个像素点赋值,然后显示图像的过程,有兴趣的可以试试,对照 mspaint 的调色板的 RGB 值,可以看到是一样的。

在这里插入图片描述 在这里插入图片描述

YUV 的概念,RGB 和 YUV 的转换,YUV 的各种格式

相关文章

网友评论

      本文标题:媒体开发入门之数字图像和视频基础知识

      本文链接:https://www.haomeiwen.com/subject/vlmoyktx.html