📜  灰度到RGB转换

📅  最后修改于: 2021-01-08 05:17:56             🧑  作者: Mango


我们已经在“图像类型”教程中定义了RGB颜色模型和灰度格式。现在,我们将把彩色图像转换为灰度图像。有两种方法可以将其转换。两者都有其优点和缺点。方法是:

  • 平均方法
  • 加权法或光度法

平均方法

平均方法是最简单的方法。您只需要取三种颜色的平均值即可。由于它是RGB图像,因此这意味着您已将r与g与b相加,然后将其除以3得到所需的灰度图像。

它以这种方式完成。

灰度=(R + G + B / 3)

例如:

g

如果您有彩色图像(如上图所示),并且想要使用平均值方法将其转换为灰度。将显示以下结果。

rgb_gray

说明

有一点可以确定,原始作品发生了什么。这意味着我们的平均方法可行。但是结果并不如预期。我们希望将图像转换为灰度图像,但是结果却是相当黑的图像。

问题

由于我们取这三种颜色的平均值,因此出现了此问题。由于三种不同的颜色具有三种不同的波长,并且它们在图像的形成中都有自己的作用,因此我们必须根据它们的作用取平均值,而不是使用平均值法进行平均值处理。现在我们正在做的是

红色33%,绿色33%,蓝色33%

我们将每个部分的33%占用,这意味着每个部分在图像中的贡献相同。但实际上并非如此。已经通过发光度方法给出了解决方案。

加权法或光度法

您已经看到了平均值方法中出现的问题。加权方法可以解决该问题。由于红色在所有三种颜色中具有更大的波长,而绿色是不仅具有比红色短的波长的颜色,而且绿色是赋予眼睛更多舒缓效果的颜色。

这意味着我们必须减少红色的贡献,增加绿色的贡献,并将蓝色的贡献置于这两者之间。

因此,形成的新方程为:

新的灰度图像=((0.3 * R)+(0.59 * G)+(0.11 * B))。

根据此等式,红色贡献了30%,绿色贡献了59%(在所有三种颜色中都更大),蓝色贡献了11%。

将此等式应用于图像,我们得到

原始图片:

g

灰度图像:

weighted_gray

说明

正如您在此处看到的那样,现在已使用加权方法将图像正确转换为灰度。与平均方法的结果相比,此图像更亮。