相关疑难解决方法(0)

SciPy创建2D多边形蒙版

我需要使用标准的Python包创建一个numpy 2D数组,它表示多边形的二进制掩码.

  • 输入:多边形顶点,图像尺寸
  • 输出:多边形的二进制掩码(numpy 2D数组)

(更大的上下文:我想使用scipy.ndimage.morphology.distance_transform_edt获取此多边形的距离变换.)

谁能告诉我怎么做?

python polygon scipy sage point-in-polygon

37
推荐指数
4
解决办法
3万
查看次数

如何使用 Python PIL 模糊图像的非矩形或圆形区域?

在 Python 中使用 PIL,我将一个 PNG 图像叠加在另一个更大的图像之上。较小的图像是半透明的。

我希望较小图像后面的区域在较大图像上模糊。以下代码模糊了一个矩形区域:

box = (3270, 1150, 4030, 2250)      # (x1, y1, x2, y2)
ic = outputImage.crop(box)
ic = ic.filter(ImageFilter.BoxBlur(20))
outputImage.paste(ic, box)
Run Code Online (Sandbox Code Playgroud)

但是,我需要模糊具有圆角的矩形区域。

这是叠加图像的样子:

那么,是否可以为 PIL 中的裁剪区域定义自定义形状?

如果没有,是否有可能至少是麦田圈形状的区域?(为了完全覆盖并且没有任何悬垂,我的区域必须分解为 6 ​​个子区域:4 个圆圈和 2 个矩形。这样做会减慢我的代码速度,但我会采取任何我能得到的解决方案。)

我知道这可以用 Numpy 来完成,但我更喜欢使用 PIL,因为这个脚本中的其他所有内容都已经用 PIL 编码了。

python python-imaging-library imagefilter

4
推荐指数
1
解决办法
8312
查看次数