音视频入门-20-BMP、PNG、JPG、GIF静态图生成GIF动态图

2021-01-17
阅读 16 分钟
1.9k
音视频入门文章目录 静态图 -> 动态图前面 【18-手动生成一张GIF图片】 和 【19-使用giflib处理GIF图片】 生成的 GIF 每一帧都是一个颜色,平时用到的 GIF 每一帧都是图片,下面就做一张每一帧都是图片的 GIF。准备了 4 张静态图 .bmp 、 .png 、 .jpg 、 .gif(静态的GIF):BMPPNGJPGGIFAndroid.bmpHuawei.pngFuchsia...

音视频入门-19-使用giflib处理GIF图片

2021-01-11
阅读 7 分钟
3.7k
音视频入门文章目录 GIFLIBThe GIFLIB project上一篇 【手动生成一张GIF图片】, 自己生成了一张 GIF 动态图 rainbow.gif。下面,使用 GIFLIB 分离出 GIF 每一帧的 RGB ,然后将分离出的 RGB 再合成 GIF。GIF to RGBGIFLIB 项目里的 gif2rgb.c 已经实现了解码 GIF -> RGB。不过 gif2rgb.c 只保存了最后一帧图片的 RGB...

音视频入门-18-手动生成一张GIF图片

2020-12-03
阅读 5 分钟
2.1k
音视频入门文章目录 GIF 编码知识GIF 包含的数据块:文件头(Header)逻辑屏幕标识符(Logical Screen Descriptor)全局颜色表(Global Color Table)Application ExtensionComment Extension图形控制扩展(Graphic Control Extension)图像标识符(Image Descriptor)局部颜色表(Local Color Table)基于颜色表的图像数...

音视频入门-17-GIF文件格式详解

2020-06-08
阅读 8 分钟
5.3k
图像互换格式主要分为两个版本,即图像互换格式 87a 和图像互换格式 89a。图像互换格式 87a:是在 1987 年制定的版本。图像互换格式 89a:是在 1989 年制定的版本。在这个版本中,为图像互换格式文档扩充了图形控制区块、备注、说明、应用程序接口等四个区块,并提供了对透明色和多帧动画的支持。

音视频入门-16-使用libjpeg-trubo处理JPEG图片

2020-03-22
阅读 12 分钟
4.6k
音视频入门文章目录 RGB-to-JPEG 回顾上一篇 【手动生成一张JPEG图片】 根据 【JPEG文件格式详解】 一步一步地实现了将 RGB 数据生成了一张 JPEG 图片。可以感受到,自己来实现 JPEG 的基本系统编码还是有相当的复杂度的,JPEG 压缩编码算法一共分为 11 个步骤:颜色模式转换采样分块离散余弦变换(DCT)量化Zigzag 扫描...

音视频入门-15-手动生成一张JPEG图片

2020-02-28
阅读 19 分钟
3.6k
JPEG 是 Joint Photographic Exports Group 的英文缩写,中文称之为联合图像专家小组。该小组隶属于 ISO 国际标准化组织,主要负责定制静态数字图像的编码方法,即所谓的 JPEG 算法。

音视频入门-14-JPEG文件格式详解

2019-12-02
阅读 4 分钟
9.4k
JPEG 文件使用的数据存储方式有多种。最常用的格式称为 JPEG 文件交换格式(JPEG File Interchange Format,JFIF)。而 JPEG 文件大体上可以分成两个部分:标记码(Tag)和压缩数据。

音视频入门-13-使用开源库生成PNG图片

2019-11-06
阅读 14 分钟
2.8k
音视频入门文章目录 RGB-to-PNG 回顾上一篇 【手动生成一张PNG图片】 根据 【PNG文件格式详解】 一步一步地手动实现了将 RGB 数据生成了一张 PNG 图片。有许多开源的 PNG 相关的库可以简化开发:svpnglibattopnglodepnglibpng使用开源库的方式svpngDemo 例子: {代码...} Demo 例子: {代码...} 自定义 rainbow -> PNG:...

音视频入门-12-手动生成一张PNG图片

2019-10-30
阅读 12 分钟
4k
音视频入门文章目录 预热上一篇 【PNG文件格式详解】详细介绍了 PNG 文件的格式。PNG 图像格式文件由一个 8 字节的 PNG 文件署名域和 3 个以上的后续数据块(IHDR、IDAT、IEND)组成。PNG 文件包括 8 字节文件署名(89 50 4E 47 0D 0A 1A 0A,十六进制),用来识别 PNG 格式。数据块中有 4 个关键数据块:文件头数据块 I...

音视频入门-11-PNG文件格式详解

2019-10-29
阅读 9 分钟
3.9k
音视频入门文章目录 PNG 文件格式解析PNG 图像格式文件由一个 8 字节的 PNG 文件署名域和 3 个以上的后续数据块(IHDR、IDAT、IEND)组成。PNG 文件包括 8 字节文件署名(89 50 4E 47 0D 0A 1A 0A,十六进制),用来识别 PNG 格式。用十六进制查看器打开任意一个 PNG 文件,都是可以看到这样的头部:PNG 定义了两种类型的...

音视频入门-10-使用libyuv对YUV数据进行缩放、旋转、镜像、裁剪、混合

2019-09-21
阅读 8 分钟
7.7k
libyuv 是 Google 开源的实现各种 YUV 与 RGB 之间相互转换、旋转、缩放等的库。它是跨平台的,可在 Windows、Linux、Mac、Android 等操作系统,x86、x64、arm 架构上进行编译运行,支持 SSE、AVX、NEON 等 SIMD 指令加速。

音视频入门-09-RGB&YUV互转-使用开源库

2019-09-19
阅读 6 分钟
4.7k
libyuv: Google 开源的实现各种 YUV 与 RGB 之间相互转换、旋转、缩放的库。yuv2rgb:C library for fast image conversion between yuv420p and rgb24.

音视频入门-08-RGB&YUV

2019-09-18
阅读 6 分钟
2.8k
YCbCr 的 Y 与 YUV 中的 Y 含义一致,Cb 和 Cr 与 UV 同样都指色彩,Cb 指蓝色色度,Cr 指红色色度,在应用上很广泛,JPEG、MPEG、DVD、摄影机、数字电视等皆采此一格式。因此一般俗称的 YUV 大多是指 YCbCr 。

音视频入门-07-认识YUV

2019-09-17
阅读 6 分钟
2.7k
Y 表示明亮度(Luminance或Luma),也就是灰阶值,U 和 V 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。

音视频入门-06-代码画图时间

2019-09-16
阅读 29 分钟
2.3k
音视频入门文章目录 代码画图网上查资料的过程中,发现一些比较好的用代码画图的例子。这里记录下来,供欣赏。如果对开发过程中有所帮助就更好了。开始画图画彩虹条 {代码...} 画棋盘格 {代码...} 画渐变图 {代码...} Mandelbrot Set 分形图 {代码...} Julia Set 分形图 {代码...} 放大镜效果 {代码...} 旋涡效果 {代码....

音视频入门-05-RGB-TO-BMP使用开源库

2019-09-15
阅读 8 分钟
2.9k
将 RGB 数据转成 BMP 图片:了解 BMP 文件格式准备 BMP 文件头信息准备 BMP 信息头BMP 存储 RGB 的顺序是 B-G-RBitmapInfoHeader 中的 biHeight 字段,biHeight 为正,位图自底向顶扫描,biHeight 为负,位图自顶向底扫描。BMP 图像四字节对齐

音视频入门-04-BMP图像四字节对齐的问题

2019-09-14
阅读 8 分钟
3.1k
表示 BMP 位图中像素的位元是以行为单位对齐存储的,每一行的大小都向上取整为4字节(32 位 DWORD)的倍数。如果图像的高度大于 1,多个经过填充实现对齐的行就形成了像素数组。

音视频入门-03-RGB转成BMP图片

2019-09-13
阅读 5 分钟
3k
文件头与信息头一共是 54 字节RGB 数据部分:RGB24 文件存储的顺序是 RGB, RGB, RGB ...... RGBBMP 文件 RGB 数据存储的顺序是 BGR, BGR, BGR ... BGR

音视频入门-02-RGB拼图

2019-09-12
阅读 5 分钟
2.3k
音视频入门文章目录 图片 & 像素点 & RGB平时浏览的图片看不出像素点:图片放大时,可以看出图片是一个个像素点组成的:每个像素点的颜色可以用 RGB 表示:RGB 拼图既然图片是像素点组成的,而像素点的颜色可以用 RGB 来表示,那我们可以用 RGB 来拼出自己的图片!1. 设定目标这是我们想要使用 RGB 像素点拼出来...

音视频入门-01-认识RGB

2019-09-09
阅读 2 分钟
1.5k
RGB 色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB 即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。