灰度图像上的颜色

时间:2013-05-14 15:13:04

标签: image-processing colors grayscale

我想用一种颜色为灰度图像着色。所以我有例如像素:RGB(34,34,34),我想用颜色着色:RGB(200,100,50)以获得新的RGB像素。所以我新手为图像中的每个像素做这个。

白色像素获得颜色:RGB(200,100,50),较暗的像素比RGB(200,100,50)颜色更深。

因此结果是灰度,黑色和选定的颜色而不是黑色和白色。

我将在没有任何内置功能的情况下对这个硬核进行编程。

与此类似:Image或此:Image

2 个答案:

答案 0 :(得分:2)

根据您的描述,我想你会找到一种混合算法。

您需要的是blendPercentage(bP)。

new red = red1 * bP + red2 *(1-bP)
新绿=绿1 * bP +绿2 *(1 - bP)
新蓝=蓝1 * bP +蓝2 *(1 - bP)

你的基色是RGB 34 34 34;要混合的颜色是RGB 200 100 50
BlendingPercentage例如= 50% - > 0.5

因此:
新红= 34 * 0.5 + 200 *(1 - 0.5)= 117
新绿= 34 * 0.5 + 100 *(1 - 0.5)= 67
新蓝= 34 * 0.5 + 50 *(1 - 0.5)= 42

答案 1 :(得分:1)

您需要做的就是使用灰色与白色的比率作为颜色的乘数。我想你会发现这比混合效果更好。

new_red = gray * target_red / 255
new_green = gray * target_green / 255
new_blue = gray * target_blue / 255