RGB565 RGB888
(1)RGB565格式说明
RGB565彩色模式, 一个像素占两个字节,
其中:第一个字节的前5位用来表示R(Red),第一个字节的后三位+第二个字节的前三位用来表示G(Green),第二个字节的后5位用来表示B(Blue)。如:15 14 13 121110 9 8 , 7 6 5 4 3 2 1 0
而bitmap图片是一个RGB888,每个像素由3个字节组成,R->8bit,G->8bit,B->8bit;RGB565
的每个pixels是由2字节组成,R->5bit,G->6bit,B->5bit。转换的思路是取出原图的点,对每个采样进行运算。
(2)互转程序
#define RGB565_MASK_RED 0xF800
#define
RGB565_MASK_GREEN 0x07E0
#define
RGB565_MASK_BLUE 0x001F
void rgb565_2_rgb24(BYTE *rgb24, WORD
rgb565) //把一个字的565数据转成3个分离的R ,G,B
{
//extract RGB
//分离出单独的RGB
rgb24[2] = (rgb565 & RGB565_MASK_RED) >> 11;
rgb24[1] = (rgb565 & RGB565_MASK_GREEN) >> 5;
rgb24[0] = (rgb565 & RGB565_MASK_BLUE);
//amplify the
image //往高位移动填满单字节的8位
rgb24[2] <<= 3;
rgb24[1]
<<= 2;
rgb24[0] <<= 3;
}
USHORT rgb24_2_rgb565(int r, int g, int b) //应该会损失数据内容
{
return (USHORT)(((unsigned(r) << 8) & 0xF800) |
((unsigned(g) << 3) & 0x7E0) |
((unsigned(b) >>
3)));
}
(3)显式彩条测试画面
如果在一个240X400分辨率的LCD屏幕上,设置三条竖彩带,分别是红绿蓝,以测试画面效果。程序如下:
void MainAddressSetting()
{
U16 xx,yy;
CpuMainWriteCom(0x0210);CpuMainWriteData(0x0000); //X位置起始点
CpuMainWriteCom(0x0211);CpuMainWriteData(0x00ef); //X位置终结点
CpuMainWriteCom(0x0212);CpuMainWriteData(0x0000); //Y位置起始点
CpuMainWriteCom(0x0213);CpuMainWriteData(0x018f); //Y位置终结点
CpuMainWriteCom(0x0200);CpuMainWriteData(0x0000);
CpuMainWriteCom(0x0201);CpuMainWriteData(0x0000); //GRAM ADDR SET
CpuMainWriteCom(0x0202); //GRAM
WRITE START
for(yy=0;yy<400;yy++)
{
for(xx=0;xx<80;xx++)
//xx应该只是表示点的个数,并不意味地址
CpuMainWriteData(0xf800)
for(xx=0;xx<80;xx++)
CpuMainWriteData(0x7e0)
for(xx=0;xx<80;xx++)
CpuMainWriteData(0x001f)
}
}
RGB565 RGB888相关推荐
- RGB565 与 RGB888的相互转换
本文内容不是完全原创,参考了网上部分精华,做了整理. RGB色彩模式(也翻译为"红绿蓝",比较少用)是工业界的一种颜色标准,是通过对红(R).绿(G).蓝(B) 三个颜色通道的变化 ...
- libjpeg库的简单使用,rgb565与rgb888互转,以及色块的寻找
最近用的摄像头OV2640摄像头,支持RGB565.JPEG.YUV和YCbCr格式的输出,想要对采集的图像进行色块识别,这样一般需要用到RGB格式的输出会比较好处理,数字图像处理中常用的采用模型是R ...
- 视频处理单元Video Processing Unit
视频处理单元Video Processing Unit VPU处理全局视频处理,它包括时钟门.块复位线和电源域的管理. 缺少什么: •完全重置整个视频处理硬件块 •VPU时钟的缩放和设置 •总线时钟门 ...
- Nexys4DDR+OV7670实现图像灰度显示系统
在这里分享设计: 通过之前发布的实验中,已经实现Nexys4DDR+OV7670实时视频采集系统,在此基础上进行灰度处理并显示. 硬件环境:Nexys4 DDR 软件环境:vivado 2018 编程 ...
- 第二季1:图像基础知识
以下内容源于朱有鹏嵌入式课程的学习整理,如有侵权,请告知删除. 1.颜色 (1)颜色的三个关键:亮度(亮暗程度).色度(什么颜色).饱和度(厚浅感). (2)颜色的数字化描述:色彩空间(如RGB,YU ...
- FFmpeg总结(一)FFmpeg官方文档分块
FFmpeg总结(一)FFmpeg官方文档分块 转载:http://blog.csdn.net/hejjunlin/article/details/68483899 http://ffmpeg.org ...
- STM32 BMP图片解析
重新优化了bmp图片解析,这次主要针对有大容量RAM的STM32F4以及F7,使用的是文件加载到内存后解析,并将解析后的RGB数据存储到另外一块内存区域,支持16位(RGB555),24位(RGB88 ...
- 【第3版emWin教程】第8章 emWin6.x的带OS方式移植(STM32H7之RGB接口)
教程不断更新中:http://www.armbbs.cn/forum.php?mod=viewthread&tid=98429 第8章 emWin6.x的带OS方式移植(STM32H7之R ...
- ST7701芯片820*320屏幕移植stemwin
简要说明 如题,公司最近更换820*320屏幕,移植stemwin,使用3线spi通讯+16RGB,这屏幕工作流程为:首先通过3线spi发送初始化指令,之后通过16bitRGB发送像素点. 移植过程参 ...
最新文章
- 一笔画 (25 分)
- ann人工神经网络_深度学习-人工神经网络(ANN)
- 硬件:RS232、RS422和RS485的区别
- python input sys.stdin
- 从 Google 的一道面试题说起·
- Js之History对象
- 四元数与欧拉角之间的换算关系
- mysql sql 按天分组统计_Mysql按日、周、月进行分组统计
- 基于PaddleOCR开发uni-app离线身份证识别插件
- 常规设置-Sinon.JS
- 文字翻译软件哪个好用?亲测好用的软件分享
- VS用OLE方式对Excel进行读写操作
- 怎样选择适合您的EDI供应商?
- golang设计模式——策略模式
- 3年Java后端开发面试题总结
- p什么水管_pvc管规格-P是什么意思pvc给水管规格中T?pvc给 – 手机爱问
- 联想服务器显示屏显示HDD2,UCS C系列安置服务器排除的HDD问题故障CLI命令
- day29 HTML基础
- 2021-520-日记
- 中国门诊动态软件市场深度研究分析报告