C++ 基于当前主题重新着色图像?
我想开发一个程序,根据给定的主题重新收集输入图像,方法与ms powerpoint应用程序相同 我给下面的链接,显示了我到底想做什么 我想根据当前主题在暗变s和光变标题下生成与下面链接中的图像相同的图像C++ 基于当前主题重新着色图像?,c++,image-processing,visual-c++,C++,Image Processing,Visual C++,我想开发一个程序,根据给定的主题重新收集输入图像,方法与ms powerpoint应用程序相同 我给下面的链接,显示了我到底想做什么 我想根据当前主题在暗变s和光变标题下生成与下面链接中的图像相同的图像 有谁能给我一些关于如何有效实现的想法和信息吗?你可以看看能不能达到同样的效果。HSL表示色调、饱和度和亮度 您可以保持图像每个像素的亮度,只更改色调。我想这会让你实现你想要的。您可以在wiki页面上找到RGB到HSL的转换 希望能有所帮助。您可以查看一下,以获得相同的结果。HSL表示色调、饱和
有谁能给我一些关于如何有效实现的想法和信息吗?你可以看看能不能达到同样的效果。HSL表示色调、饱和度和亮度 您可以保持图像每个像素的亮度,只更改色调。我想这会让你实现你想要的。您可以在wiki页面上找到RGB到HSL的转换
希望能有所帮助。您可以查看一下,以获得相同的结果。HSL表示色调、饱和度和亮度 您可以保持图像每个像素的亮度,只更改色调。我想这会让你实现你想要的。您可以在wiki页面上找到RGB到HSL的转换
希望对您有所帮助。您可以使用CxImage之类的库,将图像转换为灰度,然后使用mix命令创建与原始图像大小相同的另一个图像,然后使用mix命令使用过滤器将两者混合。您可以使用混合屏幕,这将使像素着色为结果图像中第二幅图像的颜色。试着玩一下CxImage,看看它是否能满足您的要求。这一切都是我脑子里想出来的,我已经有一段时间没有尝试过这样做了。YMMV,但这将是最简单的实现。您可以随时查看CxImage如何进行混合,并自己将其应用于图像。您可以使用类似于CxImage的库,将图像转换为灰度,然后使用mix命令创建与原始图像大小相同的另一个图像,并使用mix命令使用过滤器将两者混合。您可以使用混合屏幕,这将使像素着色为结果图像中第二幅图像的颜色。试着玩一下CxImage,看看它是否能满足您的要求。这一切都是我脑子里想出来的,我已经有一段时间没有尝试过这样做了。YMMV,但这将是最简单的实现。您可以随时查看CxImage如何进行混合,然后自己将其应用于图像。步骤1:选择要表示黑白的颜色。对于深色,选择黑色和浅色;对于光线变化,请选择深色和白色 步骤2:将像素转换为灰色。一个常见的公式是L=R*0.3+G*0.59+B*0.11
步骤3:使用灰度值在颜色之间插值
output.R=(L/255)*light.R+(1-(L/255))*dark.R
同样适用于绿色和蓝色。步骤1:选择要表示黑色和白色的颜色。对于深色,选择黑色和浅色;对于光线变化,请选择深色和白色
步骤2:将像素转换为灰色。一个常见的公式是L=R*0.3+G*0.59+B*0.11
步骤3:使用灰度值在颜色之间插值
output.R=(L/255)*light.R+(1-(L/255))*dark.R
同样适用于绿色和蓝色。我必须感谢马克和帕特里斯的指导,帮助我实现了这一目标
对于光线变化,我将主题颜色转换为HSV颜色空间,并找到了黑色(输入)的输出颜色和主题颜色之间的关系
饱和度与色相呈线性关系,色相与色相几乎不变
我使用了插值公式,使其适用于任何给定的主题。
我还利用颜色矩阵来达到预期的效果
同样,对于暗变化,我使用白色作为输入,并应用相同的技术。我必须感谢马克和帕特里斯的指导,帮助我实现了这一目标 对于光线变化,我将主题颜色转换为HSV颜色空间,并找到了黑色(输入)的输出颜色和主题颜色之间的关系 饱和度与色相呈线性关系,色相与色相几乎不变 我使用了插值公式,使其适用于任何给定的主题。 我还利用颜色矩阵来达到预期的效果
同样,对于暗变化,我使用白色作为输入,并应用相同的技术。这还不够——在HSL中,黑色保持黑色,白色保持白色,无论色调如何。深色变型用浅色代替白色,浅色变型用深色代替黑色。这还不够——在HSL中,黑色保持黑色,白色保持白色,无论色调如何。深色变奏曲用浅色代替白色,浅色变奏曲用深色代替黑色。谢谢,但我想让它对所有主题都通用(我知道主题的组成颜色)。你能举个例子说明如何选择light.R和dark.R吗?提前感谢。您可以测量Microsoft使用的内容-例如,前3个暗变型使用RGB(154191248),(248154153)和(216248159);前3个灯光变体使用(55,99153),(156,57,54)和(121149,62)。谢谢,但我想让它适用于所有主题(主题的组件颜色我都知道)。你能举个例子说明如何选择light.R和dark.R吗?提前感谢。您可以测量Microsoft使用的内容-例如,前3个暗变型使用RGB(154191248),(248154153)和(216248159);前3种光变化使用(55,99153)、(156,57,54)和(121149,62)。