Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.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图像库(PIL)中屏蔽图像吗?_Python_Image_Image Processing_Python Imaging Library_Mask - Fatal编程技术网

可以在Python图像库(PIL)中屏蔽图像吗?

可以在Python图像库(PIL)中屏蔽图像吗?,python,image,image-processing,python-imaging-library,mask,Python,Image,Image Processing,Python Imaging Library,Mask,我有一些交通摄像头图像,我只想提取道路上的像素。我以前使用过遥感软件,可以指定像这样的操作 img1*img2=img3 其中,img1为原始图像,img2为直接黑白掩模。本质上,图像的白色部分将评估为 img1*1=img3 黑色部分的评估结果是 img1*0=img3 这样我们就可以对图像进行切片,让所有不重要的区域都变成黑色 有没有一种方法可以使用PIL实现这一点?我找不到像我习惯看到的那样类似于图像代数的东西。我曾尝试过混合函数,但这只是将它们一起淡出。我读了一些关于numpy的书,看起

我有一些交通摄像头图像,我只想提取道路上的像素。我以前使用过遥感软件,可以指定像这样的操作

img1*img2=img3

其中,img1为原始图像,img2为直接黑白掩模。本质上,图像的白色部分将评估为

img1*1=img3

黑色部分的评估结果是

img1*0=img3

这样我们就可以对图像进行切片,让所有不重要的区域都变成黑色

有没有一种方法可以使用PIL实现这一点?我找不到像我习惯看到的那样类似于图像代数的东西。我曾尝试过混合函数,但这只是将它们一起淡出。我读了一些关于numpy的书,看起来它可能有能力,但我想确定的是,在我潜水之前,在PIL中没有直接的方法可以做到这一点


谢谢。

该方法可以满足您的需要。第一个图像应该是表示遮罩区域的常量值,第二个应该是原始图像-第三个是遮罩。

该方法可以执行您想要的操作。第一个图像应该是表示遮罩区域的常量值,第二个图像应该是原始图像-第三个是遮罩。

您可以使用PIL库遮罩图像。将alpha参数添加到img2,因为您不能将此图像粘贴到img1上。否则,您将看不到下面是什么,您需要添加一个alpha值

img2.putalpha128如果输入0,它将是完全透明的,请保持图像不透明

然后你可以遮罩这两个图像
img1.pastim=img2,box=0,0,mask=img2

您可以使用PIL库来屏蔽图像。将alpha参数添加到img2,因为您不能将此图像粘贴到img1上。否则,您将看不到下面是什么,您需要添加一个alpha值

img2.putalpha128如果输入0,它将是完全透明的,请保持图像不透明

然后你可以遮罩这两个图像 img1.pastim=img2,box=0,0,mask=img2