资源简介
在YUV420格式上实现字符叠程序加及YUV420转RGB程序,已实现

代码片段和文件信息
char* draw_Font_Func(unsigned char *ptr_frame const char *strint startxint startyint colorint length)//ptr_frame为YUV420格式字符数组,str为叠加的字符串,startx、starty为要叠加的位置,length为叠加字符的长度
{
//assert( ptr_frame != NULL );
int tagY=0tagU=0tagV=0;
unsigned char *offsetY=NULL*offsetU=NULL*offsetV=NULL;
unsigned short p16 mask16; // for reading hzk16 dots
//yuv 地址的设置
offsetY = ptr_frame;
offsetU = offsetY + WIDTH * HEIGHT;
offsetV = offsetU + WIDTH * HEIGHT/4;
const char *p = str;
switch (color)
{
case 0: // Yellow
tagY = 226;tagU = 0;tagV = 149;
break;
case 1: // Red
tagY = 76;tagU = 85;tagV = 255;
break;
case 2: // Green
tagY = 150;tagU = 44;tagV = 21;
break;
case 3: // Blue
tagY = 29;tagU = 255;tagV = 107;
break;
default: // White
tagY = 128;tagU = 128;tagV = 128;
}
int x=0y=0i=1j=0k=0;
for(i = 0; i < length ;i++)
{
//for (j = 0 y = starty; j < 16 && y < HEIGHT - 1; j++ y+=2) // line dots per char
for (j = 0 y = starty; j < 16 && y < HEIGHT - 1; j++ y+=2)
{
p16 = (unsigned short )table[(*p-32)*16+j];
mask16 = 0x0080; // 二进制 1000 0000
//for (k = 0 x = startx +i*32; k < 16 && x < WIDTH - 1; k++ x+=2) // dots in a line
for (k = 0 x = startx +i*16; k < 8 && x < WIDTH - 1; k++ x+=2)
{
if (p16 & mask16)
{
*(offsetY + y*WIDTH + x) = *(offsetY + y*WIDTH + x+1) = tagY;
*(offsetY + (y+1)*WIDTH + x) = *(offsetY + (y+1)*WIDTH + x+1) = tagY;
*(offsetU + y * WIDTH/4 + x/2) =tagU;
*(offsetV + y * WIDTH/4 + x/2) = tagV;
}
mask16 = mask16 >> 1; //循环移位取数据
if (mask16 == 0)
mask16 = 0x8000;
}
}
p++;
/* for (j = 0 y = starty; j < 16 && y < HEIGHT - 1; j++ y++) // line dots per char
{
p16 = *(unsigned short *)(font + j*2 + i*32);/*取字模数据/
mask16 = 0x0080; /* 二进制 1000 0000
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 9535 2015-01-28 13:09 yuv420toRGB及字符叠加\font_table.h
文件 5944 2015-01-28 13:53 yuv420toRGB及字符叠加\osd_yuv420torgb.c
目录 0 2012-11-23 10:05 yuv420toRGB及字符叠加\PCtoLCD2002\
文件 8 2015-01-28 10:39 yuv420toRGB及字符叠加\PCtoLCD2002\_index.TXT
文件 130 2002-05-11 12:05 yuv420toRGB及字符叠加\PCtoLCD2002\ASC.PTL
文件 18092 2002-05-15 15:31 yuv420toRGB及字符叠加\PCtoLCD2002\Gb2312.PTL
文件 2122 2002-05-12 00:14 yuv420toRGB及字符叠加\PCtoLCD2002\notice.txt
文件 310272 2002-05-11 19:53 yuv420toRGB及字符叠加\PCtoLCD2002\PCtoLCD2002.exe
文件 299 2015-01-28 12:42 yuv420toRGB及字符叠加\PCtoLCD2002\PCtoLCD2002.INI
文件 1364 2012-11-26 15:22 yuv420toRGB及字符叠加\PCtoLCD2002\PCtoLCD2002完美版下载 _汉字字模生成软件 - pc6下载站.url
文件 4427 2002-05-12 00:13 yuv420toRGB及字符叠加\PCtoLCD2002\readme2002.txt
文件 676352 2002-02-01 22:00 yuv420toRGB及字符叠加\PCtoLCD2002\RTL60.BPL
文件 1326080 2002-02-01 22:00 yuv420toRGB及字符叠加\PCtoLCD2002\VCL60.BPL
- 上一篇:ARM上利用opencv实现人脸识别
- 下一篇:hv8tla.rar
相关资源
- 通过x264录制RGB屏幕视频vs2013工程,
- 把RGB转换为HSV和HSI然后根据黄色和蓝
- 最简单的基于FFmpeg的libswscale的教程
- 颜色提取工具,可以方便提取出某一
- 简单\“(8bit)Raw图像文件转换为(
- ( YUV420(YV12)与YUY2(YUV422YUYV)格式
- RGB565格式转BMP
- YUV Viewer 附测试文件格式:yuv420
- FPGA视频处理 进行挖方框 字符叠加
- RGB与IHS间转换及灰度化
- OpenGL ES 显示RGB数据
- STM32F103驱动ILI9341DS18B20RTCADCIRED
- 读取Tiff文件中CMYK色彩模式存储的图像
- 基于FPGA的彩色图片转灰度实现
- ICN6211资料及寄存器配置生成器
- YUV转RGB 的verilog代码
- STM32F103ZET控制WS2811/SM16703P驱动RGB全彩
- YUV420文件任意帧指定范围区域截取并
- ICN6211:MIPI转RGB数据手册
- RGB数值与16进制相互转换
- hls_rgb2gray.zip
- FPGA的RGB转灰度
- kinect2_SDK_深度图到RGB的映射
- STM32实验RGB彩灯控制.zip
- libx264 将rgb24格式转换为h264 vs2013
- 数字图像处理数据集六-McMaster
- RGB到HIS图像转换
- 获取图片每个像素点的rgb值源码
- ICN6211规格书MIPI DSI转RGB
- bmp图片转yuv420
评论
共有 条评论