
OSD
文章平均质量分 63
宇川~
这个作者很懒,什么都没留下…
展开
-
1.OSD功能学习
目录前言:功能1.横向显示三种颜色功能2.纵向显示三种颜色功能3.左右与上下拼接以上两张照片功能4.在YUV图片上显示 竖线横线斜线(考虑斜率)功能5.在终端打印ASCII字模功能6.在YUV图片是叠加单个Ascii字模功能7.获取实时时间信息并叠加至YUV(考虑行越界)功能8.终端打印GB2312、Unicode UTF-8单个汉汉字(用VSCODE自动解析)功能9.汉字在YUV的叠加功能10.汉字在项目OSD模块中的叠加前言: 在前面了解完整个音视频工程的框架之后,开始对框架中各个模块的功能进行学原创 2021-09-15 17:04:33 · 1925 阅读 · 0 评论 -
8,.OSD叠加学习之汉字在YUV的叠加
目录思路:区别步骤:生成 GB2312 字库:获取区位码最终实现图思路:前篇已经熟悉了 ASCII码 字模的叠加,其实汉字的叠加与ASCII是一样的思路。不过就是 字典(字库)不同,表示的方法不同而已。相同的还是 计算偏移量,利用偏移量从 字典中 获取想要的字符。不清楚的请移步上篇上面说到,字库与字库存储的方法是不一样的,我用的是 GB2313。所以我们得先去学习相关知识。请移步:了解 GB2313区别步骤:生成 GB2312 字库:将字符集类型改为 GB2312 即可。获取区位码我们要原创 2021-09-15 16:51:53 · 1729 阅读 · 1 评论 -
7,.OSD叠加学习之在YUV图片是叠加单个Ascii字模与获取实时时间信息并叠加至YUV图片(考虑行越界)
目录在YUV图片是叠加单个Ascii字模思路:代码:获取实时时间信息并叠加至YUV图片思路:代码:在YUV图片是叠加单个Ascii字模思路:在上一篇博文中,我们已经成功在终端成功打印了字模,依照之前的思路。在YUV图片上打印同理。遍历字模文件,有 1 就给对应的 YUV 数值, 0 就保持原来分量。同样需要注意的就是 换行问题。而显示叠加多个字模也就是叠加一个字模的循环叠加。需注意的就是偏移量间隔的控制总的思路就是 获取 --> 遍历 --> 打印代码:int LUX_check_L原创 2021-09-15 16:51:29 · 1149 阅读 · 0 评论 -
6.OSD叠加学习之在终端打印ASCII字模
目录思路思路我们最终的目的是实现字母或文字叠加到 YUV图片中,在之前几篇文章中,我们已经熟悉并实现了对YUV图片的操作。所以接下来就是字模的认识并叠加到YUV图片中。首先,我们先从最简单的开始—在终端打印ASCII字模在操作之前,需要先去了解下 字符编码的来源与组成。ASCII 是最初也是最简单的字库,由 7bit 表示,也就是0-127,存储着128个字模.如图我们只需 使用点阵生成工具 设置好 表示一个字模的 长宽之后,保存字库。我们就可以得到存储 96 个字模的字库(注:因为ASCII码原创 2021-09-15 16:51:06 · 787 阅读 · 0 评论 -
5.OSD叠加学习之在YUV图片上显示 竖线横线斜线
目录实现效果图:实现思路:代码编写实现效果图:实现思路:无论是显示 竖线横线还是斜线,无非是对 多个连续的 像素点进行操作,明白了一个像素点如何点亮,加个循环偏移量,线也就成了。所以先来说说单个像素点。图片组成如图:Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y YY Y Y Y Y Y Y YY Y Y Y Y Y Y YU U U U U U U UV V V V V V V V YUV420,Y:U: V = 4:1:1,也就是说,图中一原创 2021-09-15 16:50:42 · 1285 阅读 · 0 评论 -
4.OSD叠加学习之左右与上下拼接
目录最终实现图:实现思路:代码编写最终实现图:左右拼接上下拼接实现思路:这左右上下拼接思路与前面的横向纵向显示 思路差不多 ,甚至更简单就不多说了(不了解请移步)。代码编写/*图片左右拼接*/int LUX_YUV_ColorSplice(char *file1,char *file2){ int Ret = 0; int height = 0; int yuvSize =原创 2021-09-15 16:50:11 · 781 阅读 · 0 评论 -
3.OSD叠加学习之纵向显示三种颜色
目录最终实现图:实现思路:代码编写:最终实现图:实现思路:在之前的基础上(不了解的同学,请移步之前同系列文章),实现以上效果图思路也很简单。但需要知道,YUV图片像素点是从左往右 一行一行的刷的。所以实现上方图,就需要在 特定偏移量 来个断层。如图:Y 分量的话 我们就需要 将每一行的 640 前设为 红色的 Y 分量,640-1280设为绿色的 Y 分量 ,1280-1920 设为蓝色的 Y 分量。在代码中用循环去写就可以了 UV同理 。代码编写:/*纵向显示颜色*/int LU原创 2021-09-15 16:49:36 · 512 阅读 · 0 评论 -
2.OSD叠加学习之横向显示三种颜色
目录最终实现图:实现思路:最终实现图:实现思路:学习完 YUV图片格式 之后,我们就知道了 一张 1920 * 1080 YUV420 图片的大小为 1920 * 1080(Y)+ 1920 * 1080 /4(U)+1920 * 1080 /4(V),即 1920 *1080 *3/2个byte。图片的前 1920 * 1080个字节 都为 Y ,后面的为UV,即4个Y对应一组UV。如图(类似其他自己脑补)Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y YY Y Y Y Y Y原创 2021-09-15 16:49:10 · 985 阅读 · 0 评论