私はバイナリ2D配列から、nピクセルの幅が正の領域に入る輪郭を得るために、(イメージの境界の百万のチェックなしで)最も簡単な方法でしたいと思います。Python:バイナリ2D配列の輪郭
例:例で呼び出すため
img = np.array([
[0, 0, 0, 1, 1, 1, 1, 1, 0],
[0, 1, 1, 1, 1, 1, 1, 1, 1],
[0, 1, 1, 1, 0, 0, 0, 0, 0],
])
1、j]、img [i、j-1]、img [i、j] = 1の場合には、 i、j + 1])は0である。
contour1 = get_countor(img, width = 1)
contour1 = ([
[0, 0, 0, 1, 0, 0, 0, 1, 0],
[0, 1, 1, 0, 1, 1, 1, 1, 1],
[0, 1, 0, 1, 0, 0, 0, 0, 0],
])
幅= 1からのすべてのピクセルは、img [i、j] == 1を満たすものと同様に正であり、2つのインデックス離れて(真理距離)のピクセルが値0で存在する。
contour2 = get_countor(img, width = 2)
contour2 = ([
[0, 0, 0, 1, 1, 1, 1, 1, 0],
[0, 1, 1, 1, 1, 1, 1, 1, 1],
[0, 1, 1, 1, 0, 0, 0, 0, 0],
])
ありがとうございます。