cv.fillPoly генерирует нулевые массивы, не считывая входные данные - PullRequest
1 голос
/ 31 января 2020

У меня есть

blank = np.zeros(shape = im.shape, dtype = np.float32)

, который генерирует

array([[0., 0., 0., ..., 0., 0., 0.],
       [0., 0., 0., ..., 0., 0., 0.],
       [0., 0., 0., ..., 0., 0., 0.],
       ...,
       [0., 0., 0., ..., 0., 0., 0.],
       [0., 0., 0., ..., 0., 0., 0.],
       [0., 0., 0., ..., 0., 0., 0.]], dtype=float32)

У меня есть [label2poly[label]], который имеет тип dtype ('int32')

[array([[ 716,    1],
        [ 710,  281],
        [ 727,  322],
        [ 756,  369],
        [ 793,  399],
        [ 863,  406],
        [ 952,  416],
        [ 978,  412],
        [ 416,    1]])]

Когда я пытаюсь cv2.fillPoly(blank, [label2poly[label]], 255), он выводит

array([[0., 0., 0., ..., 0., 0., 0.],
       [0., 0., 0., ..., 0., 0., 0.],
       [0., 0., 0., ..., 0., 0., 0.],
       ...,
       [0., 0., 0., ..., 0., 0., 0.],
       [0., 0., 0., ..., 0., 0., 0.],
       [0., 0., 0., ..., 0., 0., 0.]], dtype=float32)`

, где должно было быть что-то вроде

array([[  0.,   0.,   0., ...,   0.,   0.,   0.],
       [  0.,   0., 255., ...,   0.,   0.,   0.],
       [  0.,   0., 255., ...,   0.,   0.,   0.],
       ...,
       [  0., 255., 255., ..., 255., 255., 255.],
       [  0., 255., 255., ...,   0.,   0.,   0.],
       [  0.,   0.,   0., ...,   0.,   0.,   0.]], dtype=float32)

Я пытаюсь создать несколько масок. Буду признателен за любую помощь.

1 Ответ

1 голос
/ 31 января 2020

Инициализация blank:

blank = np.zeros(shape=[5, 5], dtype=np.float32)
print(blank)

Вывод:

[[0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0.]]

Инициализация label с последующим вызовом fillPoly(), который используется как маска для заполнения blank с 255 в указанных c позициях:

label = np.array([[[1, 1], [1, 2], [1, 3], [2, 1], [2, 2], [2, 3], [3, 1], [3, 2], [3, 3]]], dtype=np.int32)

cv2.fillPoly(blank, [label], 255)
print(blank)

Выход:

[[  0.   0.   0.   0.   0.]
 [  0. 255. 255. 255.   0.]
 [  0. 255. 255. 255.   0.]
 [  0. 255. 255. 255.   0.]
 [  0.   0.   0.   0.   0.]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...