如何使用python沿着图像/遮罩图像的边缘创建透明渐变?

时间:2020-06-18 18:24:34

标签: python image image-processing computer-vision gradient

基本上,我想为逐​​渐淡入透明的图像创建光晕效果。

我有伤口(和口罩)的图像,没有背景。我想在它后面添加一个红色渐变,这样,如果我将其粘贴在看起来像伤口周围的区域很刺激的东西上,就可以了。

imagemask ...

最初,我正在制作一个径向(圆形)渐变并将我的透明图像粘贴到该渐变上,但是这对于我的非圆形图像来说并不好。

image with circle gradient

same image as above,but pasted on white更容易看到渐变

...

现在,我认为最好的主意是使渐变形状围绕图像的边缘到一定距离并逐渐消失。 像这样的东西(我在油漆方面做得很差……但是基本上是要从物体的边缘伸出一定距离,然后逐渐消失)

paint version of what i would like to do ...

我的圆渐变代码如下所示,这将创建一个透明的圆渐变。一旦有了这个,我就会在上面粘贴我的透明图像。我不知道如何更改此代码,以使其在图像边缘创建渐变。

import numpy as np, 
from PIL import Image

W,H=900,900
im = Image.new(mode='RGB', size=(W,H), color=(153,0,0))
Y = np.linspace(-1, 1, H)[None, :]*255
X = np.linspace(-1, 1, W)[:, None]*255
alpha = np.sqrt(X**2 + Y**2) # equation of a circle 
alpha = 255 - np.clip(0,255,alpha)

请帮助

0 个答案:

没有答案