您好:
请问怎样将点阵字库转换成YUV数据,并分别提取Y数据和UV数据,然后转换成HEX码的C文件?
谢谢!
zhang zhang:
dm368的osd源代码在alg_ti_swosd.h(av_capture\framework\alg\priv\swosd)头文件中进行了宏定义:#define SWOSD_STRINGPATTERN "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz,.;\/+_()$%" ,并把这些字符预先转换成了YUV数据以十六进制码形式存放在C文件中(char YData_720_20[] (ascii_Y_720_20.c) char UVData_720_20[] (ascii_UV_720_20.c)),存放在所有OSD显示的字符仅限于宏定义里面的字符串,如果要显示其他字符或中文,就要创建字库,并转换成yuv数据,并转换成HEX码的C文件。
请问怎样把点阵字库转换成YUV数据?
Feng Dong:
回复 zhang zhang:
点阵字库通常是rgb格式的到yuv就是色彩空间的转换这个是固定的.可以离线找工具做.
xiaofeng xu:
回复 zhang zhang:
请问您这个问题解决了么?
canxiong yang:
如果只显示白色字体可以从字模只取Y值,对字模的每个位进行转换,假如是yuv420,一个位转换成对应的一个字节的Y,UV大小为0.5*Y,比如字模大小为16*16,可以把每行当成两个字节,然后对每个位进行转换,为0时转出0x00,为1时转出0xff,UV值全部取0x80,这样出来的字为白色字体
Shawn Yang:
回复 canxiong yang:
用 ImageMagick-6.4.3-Q16