-> 0. Я использую numpy 1.14.2. Возможно, в версии 15 генераторы расширены?

естировании, если массив NumPyc является членом списка NumPy массивовCNTS:

import numpy as np

c = np.array([[[ 75, 763]],
              [[ 57, 763]],
              [[ 57, 749]],
              [[ 75, 749]]])

CNTS = [np.array([[[  78, 1202]],
                  [[  63, 1202]],
                  [[  63, 1187]],
                  [[  78, 1187]]]),
        np.array([[[ 75, 763]],
                  [[ 57, 763]],
                  [[ 57, 749]],
                  [[ 75, 749]]]),
        np.array([[[ 72, 742]],
                  [[ 58, 742]],
                  [[ 57, 741]],
                  [[ 57, 727]],
                  [[ 58, 726]],
                  [[ 72, 726]]]),
        np.array([[[ 66, 194]],
                  [[ 51, 194]],
                  [[ 51, 179]],
                  [[ 66, 179]]])]

print(c in CNTS)

Я получил:

ValueError: Значение истинности массива с более чем одним элементом неоднозначно. Используйте a.any () или a.all ()

Тем не менее, ответ довольно ясен:c это точноCNTS[1], такc in CNTS должен вернуть True!

Как правильно проверить, является ли массив numpy членом списка массивов numpy?

Такая же проблема бываетпри удалении:

CNTS.remove(c)

ValueError: Значение истинности массива с более чем одним элементом неоднозначно. Используйте a.any () или a.all ()

Применение: проверить, еслиopencv контур (массив NumPy) является членом списка контуров, см., например,Удалить контур opencv из списка контуров.

Ответы на вопрос(3)

Ваш ответ на вопрос