Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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
Python绘制一条渐变线,其中一种颜色是透明的_Python_Image_Opencv_Matplotlib - Fatal编程技术网

Python绘制一条渐变线,其中一种颜色是透明的

Python绘制一条渐变线,其中一种颜色是透明的,python,image,opencv,matplotlib,Python,Image,Opencv,Matplotlib,我搜索了OpenCV、matplotlib、彩色地图和其他关于使用透明胶片在图像上绘制的帖子。我还没有找到一种方法来画一条从一种颜色到透明颜色的渐变线 例如,这个图像接近我的意思,但是黑色部分是不透明的。我需要两条在交叉点周围没有方框的线 有没有一个软件包,可以处理梯度与完全透明的颜色像这样?我一直在使用Python 3和OpenCV 3,但是,任何其他能够实现这一点的软件包都可以。谢谢。听起来你在寻找一些阿尔法混合 # Define line params x = img.shape[1] /

我搜索了OpenCV、matplotlib、彩色地图和其他关于使用透明胶片在图像上绘制的帖子。我还没有找到一种方法来画一条从一种颜色到透明颜色的渐变线

例如,这个图像接近我的意思,但是黑色部分是不透明的。我需要两条在交叉点周围没有方框的线


有没有一个软件包,可以处理梯度与完全透明的颜色像这样?我一直在使用Python 3和OpenCV 3,但是,任何其他能够实现这一点的软件包都可以。谢谢。

听起来你在寻找一些阿尔法混合

# Define line params
x = img.shape[1] // 2
w = 10

# Construct line
line = np.zeros_like(img)
line[:, (x-w):(x+w+1)] = (0, 255, 255)

# Construct line alpha mask
alpha = np.zeros_like(img, np.float32)
alpha[:, (x-w):x, :]   = np.repeat(np.arange(1, w+1    )[:, np.newaxis] / (w+1), 3, axis=1)
alpha[:, x:(x+w+1), :] = np.repeat(np.arange(w+1, 0, -1)[:, np.newaxis] / (w+1), 3, axis=1)

# Blend into img
img = ((1-alpha) * img + alpha * line).astype(img.dtype)

你是怎么画这些线的?或者,您只是想删除此图像的框吗?这只是在office软件包中绘制的,以尝试表示我希望执行的操作。好的,这给了我一条垂直线,就像我需要的那样!现在,我唯一的问题是,如果我有几条线相互交叉,它们是否会“重叠”而不会相互扭曲?我对直线的交点感兴趣。什么是扭曲?你想要哪种混合?覆盖层,添加剂。。。在这种情况下,alpha值为1表示采用了100%的行。失真可能是错误的词。我想他们覆盖部分透明的部分,从两行是可见的,没有一行完全阻止另一行这样做。。。视觉上。尽管你必须更准确地知道你想要什么样的应用?。例如,0.2*0.8+0.8*1=0.96。在OpenCV中,我的线条使用标准的x,y坐标从一个点到另一个点。有没有快速的方法将其转换为numpy数组?编写此命令的方式直接更改数组元素。