Tag: rgb

使用C中的调色板数组查找最近的RGB值

我已完成部分代码,但在某些比较中,最接近的值不正确。 例: 正确: Rgb value | Value from array 0xFFFFFD = 0xFFFFFF 不正确: 固定代码 Rgb value | Value from array 0xF4F939 = 0xFF0000 (should be 0xFFFF00) 控制台输出:(正确) C:\Users\honguito\Desktop\Bat\Game_Batch_Files\24_to_8_bitmap>24_to_8_bit_palett e The closest color of 0xFFFFFD is: ‘0xFFFFFF’ C:\Users\honguito\Desktop\Bat\Game_Batch_Files\24_to_8_bitmap> 控制台输出:(不正确) C:\Users\honguito\Desktop\Bat\Game_Batch_Files\24_to_8_bitmap>24_to_8_bit_palett e The closest color of 0xF4F939 is: ‘0xFF0000’ C:\Users\honguito\Desktop\Bat\Game_Batch_Files\24_to_8_bitmap> 那些RGB颜色代码列在一个数组中: int data[] = { 0x000000, 0x800000, […]

RGB888转RGB565 /位移

我希望使用位移组合三个字符。 这是为了实现RGB565调色板(红色有5位,绿色有6位,蓝色有5位)。 这是我的示例程序,我只是错过了中间的一步,我认为我需要做一些事情。 #include int main( ){ unsigned char r, g, b; unsigned short rgb; r = 255; // 0xFF 1111 1111 g = 100; // 0x64 0110 0100 b = 50; // 0x32 0011 0010 r = r >> 3; // 0x31 0001 1111 g = g >> 2; // 0x19 0001 1001 b […]

如何转换RGB – > YUV – > RGB(双向)

我想要一对转换算法,一个从RGB到YUV,另一个从YUV到RGB,它们是彼此相反的。 也就是说,往返转换应保持值不变。 (如果您愿意,将YUV替换为Y’UV,YUV,YCbCr,YPbPr。) 这样的事情存在吗? 如果是这样,它是什么? 发布的解决方案( 如何在C / C ++中执行RGB-> YUV转换? , http://www.fourcc.org/fccyvrgb.php,http : //en.wikipedia.org/wiki/YUV )只是反转(当省略钳位到[0,255]时,两个3×3矩阵是反转的)。 但是省略这种钳位可以产生负亮度等问题,这会对YUV空间中的图像处理造成严重破坏。 保持钳位使转换非线性,这使得定义逆变得棘手。

在C中从HEX颜色转换为RGB结构

仅使用C库将颜色HEX代码转换为纯c中的RGB(不含C ++,模板等)RGB结构可能是这样的 – > typedef struct RGB {double r; 双g; 双b; } RGB1; 函数应该返回RGB1

从24bpp位图获取每个像素的RGB值,以便在C中转换为GBA格式

我想从.bmp文件中读取每个像素的RGB值,因此我可以将bmp转换为适合GBA(GameBoy Advance)的格式。 我需要为每个像素获取RGB,然后将此信息写入文件。 我试图使用结构: typedef struct { char signature[2]; unsigned int fileSize; unsigned int reserved; unsigned int offset; }BmpHeader; typedef struct { unsigned int headerSize; unsigned int width; unsigned int height; unsigned short planeCount; unsigned short bitDepth; unsigned int compression; unsigned int compressedImageSize; unsigned int horizontalResolution; unsigned int verticalResolution; unsigned int numColors; unsigned int importantColors; […]

如何在C / C ++中执行RGB-> YUV转换?

如何在C / C ++中执行RGB-> YUV转换? 我有一些Bitmap .. RGB我需要将它转换为YUV 库? TUTS? 文章?