gpt4 book ai didi

python - 当分离 < 1 px 时在 python 中使用 PIL 检测图像形状边缘的算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:13:56 25 4
gpt4 key购买 nike

这是一个很容易解决的问题,我正在尝试重新排列平面中的形状,但首先我需要以正确的方式检测它们,我想出了这个非常低效的算法,但它确实工作正常,直到它到达两个形状,它们之间的距离为 < 1px:

这里是 python 伪代码:

#all pixels
for x in range(0, image.width):
for y in range(0, image.height):

if pixel is black:
# mark start of shapes

else:
if shape is open:
for r in range (0, image.height):
if pixel is black:
# found shape, keep shape open
else:
# close shape
else:
for r in range (0, image.height):
paint pixel gray # this draws the vertical gray lines in the example

这是生成的图像:

enter image description here

如您所见,灰色条绘制在形状之间,但当两个形状靠得太近(彼此之间的距离小于 1px)时,它不起作用

重要提示:对于垂直重叠的形状,我不需要让它工作。

我真的不关心 python/pillow 语法,如果你能很好地解释你的算法是做什么的,它是如何工作的,并且它看起来像 python/PIL 代码。

最佳答案

听起来您想同时查看当前像素列和前一列。如果两列中都没有黑色的 y 位置,则它是一个新形状(或没有形状)。

关于python - 当分离 < 1 px 时在 python 中使用 PIL 检测图像形状边缘的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31982110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com