我的理解RGB---value(0至255)红色,(0至255)绿色,(0至255)的蓝色来形成一种颜色。

到底是什么BGR色空间?

它是如何不同于RGB颜色的空间?

有帮助吗?

解决方案

RGB代表红,绿,蓝。最经常地,RGB颜色被存储在占据至少显著的“区域”(在32位和24位格式的一个字节),绿第二最低,和红色的第三至少

BGR是相同的,除了区域的顺序是相反的。红色占据至少显著区域,绿色第二(静止),和蓝三

在某些平台上(例如, Gamegear )使用BGR模型。然而,对于大多数像您的计算机,RGB使用[引文需要](虽然BGR是由许多图形API的兼容性为支持)。我不知道的为什么的正是它的使用;大概历史。

例:(!号码被读出从右到左)#FF0000是当作为RGB十六进制颜色(#RRGGBB)读,因为第三区域纯红色是FF(最大值,全彩)和其他两个区域是00(最小值,无颜色)。如果#FF0000被读取为BGR十六进制颜色,这将会是纯蓝色。

其他提示

其大约端序

RGB是一个字节顺序。但故意实现选择最香草图形库的是,它们对待颜色为无符号32位整数内部,与所述三个(或四个,如α通常包含)填充入整数组件。

在一个小端机器(如X86)的整数0x01020304实际上将存储在存储器中作为0x04030201。因此0x00BBGGRR将被存储为0xRRGGBB00!

因此,术语BGR(和BGRA等)是其中图形库是说明整数逻辑上是如何排序,以使代码被直接单独访问的颜色分量的泄漏抽象更具有可读性。

记住,位图通常是由硬件比你的处理器,且由,比方说,常规显示适配器指定的字节序的多个部分访问,不一定是相同的CPU的字节序。在像素操纵通道其没有问题用于CPU以提取字段不论其顺序的水平;其纯粹是一个程序员理解标记的事情。

它是关于方式的颜色分奠定了在记忆。为BGR的顺序是BGRBGRBGRBGR...,并为RGB的顺序是RGBRGBRGB...为BGR,默认了对于该版本,它是这样的:

enter image description here (见的该版本的文件 如何图像矩阵存在的记忆?)

注意到其他答复提到了某些颜色是少或最重要的意义,但是实际上取决于在字节序的机器。以及包装秩序的组件在unsigned int,e。g,实际上是取决于你的软件,或者图书馆使用。然而,不管你的图书馆,或endiannes你的机器,用于BGR素字节的地址B颜色组成部分将是一个小比克和两个小比R(和RGB这仅仅是其他方式)。

这只是RGB以更严格控制的顺序,独立字节序的。它们之间的转换很简单,一旦你知道你的环境的存储方式。

在BGR是其中寻址下一个24位表示8位是蓝,下寻址8是绿色和更高寻址8是红色的。

RGB值趋向于被写为RGB(R,G,B),其中R / G / B的值是从0到255包括的或作为#RRGGBB,其中RR / GG / bb为8位十六进制值。所有我见过的BGR值趋向于0167772150xffffff)之间的简单整数。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top