首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >颜色操作

颜色操作
EN

Stack Overflow用户
提问于 2013-03-07 12:46:15
回答 5查看 709关注 0票数 0

我的任务是在图像中互换颜色。

变红为蓝变蓝变绿变绿变红

用户将输入一幅图像,输出将显示一幅具有互换颜色的图像。

我得到了将RGB转换为HSI的提示。但还是..。我不知道该怎么做。我应该执行哪些步骤才能完成此任务?下面是将RGB转换为HSI感谢的公式。:)

将RGB值转换为HSI值的公式假定R、G和B是颜色的红色、绿色和蓝色值。HSI强度由以下方程给出

代码语言:javascript
运行
AI代码解释
复制
I = (R + G + B)/3.

现在设m是R、G和B中的最小值。颜色的HSI饱和值由下式给出

代码语言:javascript
运行
AI代码解释
复制
S = 1 - m/I    if I > 0, or
S = 0            if I = 0.

若要将颜色的总体色调H转换为角度度量,请使用以下公式:

代码语言:javascript
运行
AI代码解释
复制
H = cos-1[ (R - ½G - ½B)/R² + G² + B² - RG - RB - GB ]            if GB, or
H = 360 - cos-1[ (R - ½G - ½B)/R² + G² + B² - RG - RB - GB ]    if B > G,

其中反余弦输出以度为单位。

EN

回答 5

Stack Overflow用户

发布于 2013-03-07 12:52:38

因为颜色是以度为单位的,所以你应该在色调上增加120度。

票数 2
EN

Stack Overflow用户

发布于 2013-03-07 12:58:17

将最大色调值的1/3添加到每个像素的H通道。如果使用8U深度,则添加255/3;如果使用32F深度,则添加0.333 (但如果溢出超过1,则减去1)

票数 0
EN

Stack Overflow用户

发布于 2013-03-07 14:06:31

您可以尝试hsv彩色rappresentation:

http://en.wikipedia.org/wiki/HSL_and_HSV

你可以在“色调和色度”下找到如何转换

最大G均值在1~3之间,最大蓝值在3~5之间,最大R值在5~6或0~1之间!最后,你乘以60,得到一个类似度的值

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

https://stackoverflow.com/questions/15271623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文