PIL Plus/imToolkit 替代方案

3 投票
1 回答
790 浏览
提问于 2025-04-16 23:13

我一直在寻找关于PIL Plus的后续功能的信息,PIL Plus是Python的一个扩展,也叫imToolkit。我知道PIL Plus(也就是imToolkit)曾经是一个商业扩展,只有购买了PIL支持的客户才能使用。而且我也知道PIL Plus这个扩展现在已经不再提供了。

我想问的是,“PIL Plus的功能有没有被整合到其他工具包中,还是说完全被忽略了?”

我现在想做的是复制Matlab中的imfill功能,填补图像中的“空洞”,以便创建更好的二值图像遮罩。

提前感谢你的帮助。

1 个回答

2

我不太明白 imfill 是怎么工作的。它是这样的吗:

import numpy as np
import scipy.ndimage.morphology as morphology

bw = np.array([[0, 0, 0, 0, 0, 0, 0, 0],
               [0, 1, 1, 1, 1, 1, 0, 0],
               [0, 1, 0, 0, 0, 1, 0, 0],
               [0, 1, 0, 0, 0, 1, 0, 0],
               [0, 1, 0, 0, 0, 1, 0, 0],
               [0, 1, 1, 1, 1, 0, 0, 0],
               [0, 0, 0, 0, 0, 0, 0, 0],
               [0, 0, 0, 0, 0, 0, 0, 0]])

print(morphology.binary_fill_holes(bw).astype('int'))

得到的结果是

[[0 0 0 0 0 0 0 0]
 [0 1 1 1 1 1 0 0]
 [0 1 1 1 1 1 0 0]
 [0 1 1 1 1 1 0 0]
 [0 1 1 1 1 1 0 0]
 [0 1 1 1 1 0 0 0]
 [0 0 0 0 0 0 0 0]
 [0 0 0 0 0 0 0 0]]

如果是这样的话,你可能想看看 scipy的形态学包

撰写回答