首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将图像颜色空间从RGB转换为对手颜色

将图像颜色空间从RGB转换为对手颜色
EN

Stack Overflow用户
提问于 2018-07-25 04:23:17
回答 1查看 705关注 0票数 0

我找到了formulas给出的对手颜色空间的定义

代码语言:javascript
复制
O1 = 1/sqrt(2) * (R - G)
O2 = 1/sqrt(6) * (R + G - 2B)
O3 = 1/sqrt(3) * (R + G + B)

在这些公式中,R、G、B符号是原始图像在RGB空间中的通道的值。

在RGB颜色空间中表示的原始图像是典型的uint8图像,其值在0,255范围内。计算是通过将图像转换为float来完成的。

如何缩放生成的图像,特别是O1和O2通道,使其具有相同的范围0,255,并由uint8类型表示?

在缩放之后,是否有可能从对手颜色空间返回到具有uint8类型表示的图像的RGB空间?

EN

回答 1

Stack Overflow用户

发布于 2018-07-25 06:22:58

让我们来看看O1..。如果为R=255和G=0,则(R-G)的最大可能值为255。如果为R=0和G=255,则(R-G)的最小可能值为-255。

所以

代码语言:javascript
复制
-255/root2 <= O1 <= 255/root2

如果我们希望它在0到255的范围内,我们需要添加255/root2,这将使它大于或等于0,小于510/root2,所以我们需要乘以255*root2/510。

现在O2..。(R+G-2B)的最大可能值为510,最小值为-510。所以

代码语言:javascript
复制
-510/root6 <= O2 <= 510/root6

所以,加上510/root6,它将介于0和1020/root6之间,所以我们需要乘以255*root6/1020。

您可以执行O3 :-)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51506953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档