dm368ipnc 重写架构中的swosd 实现中文osd
appro的ipnc中只实现了英文的osd叠加,就连小小的ascii码表都没有覆盖全,而且该swosd架构灰常凌乱。
其实无非就是两个功能,一是叠加文字,而是叠加图片,由于考虑到兼容不同的分辨率的视频流,所以处理的分支相对校对。
图片的叠加暂不实现,用途最多的是中文的叠加,实现中文osd叠加的方法也非常简单,如下:
1、了解中文字库的分布,通过汉字的内码计算出该汉字在字库中的位置。
2、同上,了解ascii字库的分布,通过字母的ascii码值计算对应的字符在字库中的位置(这个相对简单,汉字的也不难)
3、在pc上将想要的中英文字体转换成点阵字库数据(或者直接转换成YUV格式的数据也可以,我采用的是点阵)
4、了解YUV格式的存储模式(这个也不难)
5、最后将中文字符串转换成的点阵数据叠加到yuv的指定位置就实现了中文的叠加,如果是叠加时间,实时的获取系统时间,将时间再转换成字符串,然后动态的叠加到yuv上就好了。
下图是叠加后的效果,是不是还可以。
dm368ipnc 重写架构中的swosd 实现中文osd相关推荐
- 在微服务架构中做机器学习,真的太难了
2020-05-29 14:42:56 我曾经参与过很多由深度学习技术驱动的项目,最糟糕的情况就是被迫处理面向微服务的架构,我不是呼吁大家停止使用微服务,但想在面向微服务的架构中推动机器学习项目,很大 ...
- vue click事件_Vue.js---实现前后端分离架构中前端页面搭建(二)
[Vue.js实现前后端分离架构中前端页面搭建] 九.Vue的事件处理 Vue的事件都是使用 v-on:事件类型 进行绑定.也可以使用@事件类型进行操作.其中事件类型和之前学习jQuery中事件名称是 ...
- 分布式架构中常见理论以及如何才能设计出高可用的分布式架构?
分布式架构中常见理论以及如何才能设计出高可用的分布式架构? 一.前言 我们就来聊一聊目前主流的分布式架构以及分布式架构中常见理论以及如何才能设计出高可用的分布式架构好了.分布式架构中,SOA和微服务架 ...
- nuget的原理_微服务架构中APIGateway原理
背景 我们知道在微服务架构风格中,一个大应用被拆分成为了多个小的服务系统提供出来,这些小的系统他们可以自成体系,也就是说这些小系统可以拥有自己的数据库,框架甚至语言等,这些小系统通常以提供 Rest ...
- 微服务分布式架构中,如何实现日志链路跟踪?
本文主要讲解了spring cloud微服务使用Feign作为微服务间的通讯框架的情况下,如何使用统一的日志ID来追踪一次请求日志,高效排查日志.核心解决了以下问题: 1.代码无入侵 2.线程池(主/ ...
- 赵钟秋谈又拍网架构中的消息/任务系统
赵钟秋,又拍网核心开发人员,关注多种计算机语言.Web技术和开源技术.他在QCon杭州2011大会的开放平台专题做了名为<又拍网架构中的消息/任务系统>的讲座,并和参会者做了热烈的讨论.会 ...
- Spring Boot 架构中的国际化支持实践—— Spring Boot 全球化解决方案
背景 Spring Boot 主要通过 Maven 或 Gradle 这样的构建系统以继承方式添加依赖,同时继承了 Spring 框架中的优秀元素,减少了 Spring MVC 架构中的复杂配置,内置 ...
- Python 2x 中list 里面的中文打印效果乱码
事情是这样的 本来是处理python2x 中list 里面的中文打印为unicode 想处理下打印为中文,处理之后打印的效果中文乱码了代码如下 #!/usr/bin/python # -*- cod ...
- oracle数据库有哪些文件构成,Oracle数据库架构中包括几层?每层都有什么元素?...
Oracle数据库架构中包括几层?每层都有 什么元素? 1 PL/SQL代表 A PROCEDURAL LANGUAGE/SQL B PROGRAM LANGUAGE SQL C POWER LANG ...
最新文章
- 服务化的未来--ServiceMesh?
- day06 : 01 Oracle 体系结构概念,内存结构,内存结构(服务器进程和用户进程)
- 利用正则匹配数字后边的字符_图解正则——字符匹配
- 红橙Darren视频笔记 手写ButterKnife(Android Studio4.2.2 gradle-6.7.1 )
- 拼多多回应“轩尼诗假酒”案:实际售出3单 9月已关闭店铺
- Java基础知识强化87:BigInteger类之BigInteger加减乘除法的使用
- 地图Web服务API接口——搜索POI(以高德地图为例)
- orcad16.3下载
- 小红花代表什么_《送你一朵小红花》:细品后才知道,结尾处的平行世界代表着什么...
- GPS在ROS中的测试和使用
- 树莓派如何刷RetroPie,制作一个复古游戏机
- SpringMVC源码剖析(四)- DispatcherServlet请求转发的实现
- 商汤发布首份业绩报告,数字经济新拐点,商汤的价值逻辑变了吗?
- btcTrade_project
- WP 微信导出聊天记录备份到电脑
- java switch finally_java switch语句详解
- 利用Javascript生成txt文本文件
- 调功器PA400X系列选型+个人理解
- QA之道知多少(一) 初出茅庐
- Web前端开发技术实验与实践(第3版)储久良编著实训12
热门文章
- Android Studio使用心得
- UVA - 10934 Dropping water balloons(装满水的气球)(dp)
- 使用junit测试用例
- 如何解决浏览器缩小出现横向滚动条时网页背景图出现空白的问题
- HTML 表格中的行合并与列合并
- 导航跳转后保持选中状态 jquery高亮当前选中菜单
- HDU 	4339	 Query
- 执行caffe的draw_net.py出现“GraphViz's executable dot not found”的解决方法
- window document
- java中判断字段真实长度(中文2个字符,英文1个字符)的方法