Я извлек контур двоичного кода numpy (содержащего только массив 0 и 1). После этого я делаю некоторые вычисления, которые немного изменят положение контуров.
Теперь я хочу преобразовать этот контурный массив обратно в двоичное двоичное изображение.
Допустим, у меня есть такой массив.
import numpy as np
x = np.array([[0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0.],
[0., 0., 1., 1., 0., 0.],
[0., 0., 1., 1., 0., 0.],
[0., 0., 1., 1., 0., 0.],
[0., 0., 1., 1., 0., 0.],
[0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0.]])
Нахождение контура даст мне,
from skimage import measure
contours = measure.find_contours(a, 0.)
k = np.zeros(a.shape).astype('float32')
for x in contours:
for i, j in x:
k[int(i)][int(j)] = 1.
print(k)
\\Output
array([[0., 0., 0., 0., 0., 0.],
[0., 0., 1., 1., 0., 0.],
[0., 1., 0., 0., 1., 0.],
[0., 1., 0., 0., 1., 0.],
[0., 1., 0., 0., 1., 0.],
[0., 1., 0., 0., 1., 0.],
[0., 0., 1., 1., 0., 0.],
[0., 0., 0., 0., 0., 0.]], dtype=float32)
Есть ли способ вернуться к x из этого контура?
Я не могу добавить их обоих, так как немного изменю этот массив контуров.