Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 基于当前主题重新着色图像?_C++_Image Processing_Visual C++ - Fatal编程技术网

C++ 基于当前主题重新着色图像?

C++ 基于当前主题重新着色图像?,c++,image-processing,visual-c++,C++,Image Processing,Visual C++,我想开发一个程序,根据给定的主题重新收集输入图像,方法与ms powerpoint应用程序相同 我给下面的链接,显示了我到底想做什么 我想根据当前主题在暗变s和光变标题下生成与下面链接中的图像相同的图像 有谁能给我一些关于如何有效实现的想法和信息吗?你可以看看能不能达到同样的效果。HSL表示色调、饱和度和亮度 您可以保持图像每个像素的亮度,只更改色调。我想这会让你实现你想要的。您可以在wiki页面上找到RGB到HSL的转换 希望能有所帮助。您可以查看一下,以获得相同的结果。HSL表示色调、饱和

我想开发一个程序,根据给定的主题重新收集输入图像,方法与ms powerpoint应用程序相同

我给下面的链接,显示了我到底想做什么

我想根据当前主题在暗变s和光变标题下生成与下面链接中的图像相同的图像


有谁能给我一些关于如何有效实现的想法和信息吗?

你可以看看能不能达到同样的效果。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)。