我一直试图找到为PIL Plus for Python(也称为imToolkit)提供的能力的延续。我知道PIL Plus(又名imToolkit)是Python的商业扩展。它可供PIL支持客户使用。我也知道PIL Plus扩展已不再可用。
我的问题是,“将PIL Plus的功能/功能折叠到任何其他工具包中还是完全被忽视?”
我想要做的是复制Matlab的imfill可以执行的操作并填入'hole'来创建更好的二进制图像掩码。
提前感谢您的帮助。
答案 0 :(得分: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's morphology package。