gpt4 book ai didi

c - 如何从 jpg 图像中获取 RGB888(24 位)和 RGB565(16 位)帧缓冲区转储?

转载 作者:太空宇宙 更新时间:2023-11-04 08:52:30 28 4
gpt4 key购买 nike

我需要调整(放大或缩小)我的 jpg/png 格式的图像。我正在使用双线性插值来调整大小。我的代码可以很好地处理我在数组中给出的值。但是要用图像测试结果,我需要 RGB565 和 RGB888 转储。

由于我的任务只是调整图像的大小,如果我能得到一个包含图像宽度和高度的转储,或者只是一个算法也可以,我将不胜感激。

我正在研究 C。请帮助我。

谢谢

最佳答案

如果您只缺少从 RGB888 到 RGB565 的转换,那么这很容易。为每个像素调用以下函数:

unsigned short int rgb888Torgb565(unsigned int rgb888Pixel)
{
int red = (rgb888Pixel >> 16) & 0xff;
int green = (rgb888Pixel >> 8 ) & 0xff;
int blue = rgb888Pixel & 0xff;

unsigned short b = (blue >> 3) & 0x001f;
unsigned short g = ( (green >> 2) & 0x003f ) << 5;
unsigned short r = ( (red >> 3) & 0x001f ) << 11;

return (unsigned short int) (r | g | b);
}

将函数应用于所有像素。每一个都会从 3 个字节缩小到 2 个字节。

关于c - 如何从 jpg 图像中获取 RGB888(24 位)和 RGB565(16 位)帧缓冲区转储?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19131556/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com