Prueba si una matriz numpy es miembro de una lista de matrices numpy, y quítala de la lista

Al probar si una matriz numpyc es miembro de una lista de matrices numpyCNTS:

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)

Yo obtengo

ValueError: el valor de verdad de una matriz con más de un elemento es ambiguo. Utilice a.any () o a.all ()

Sin embargo, la respuesta es bastante clara:c es exactamenteCNTS[1], asi quec in CNTS@ debería devolver True!

¿Cómo probar correctamente si una matriz numpy es miembro de una lista de matrices numpy?

El mismo problema sucede al eliminar:

CNTS.remove(c)

ValueError: el valor de verdad de una matriz con más de un elemento es ambiguo. Utilice a.any () o a.all ()

Aplicación: prueba si unopencv contour (numpy array) es miembro de una lista de contornos, ver por ejemploRetire un contorno opencv de una lista de contornos.

Respuestas a la pregunta(3)

Su respuesta a la pregunta