Tengo dos matrices Numpy (uint8 tridimensional) convertidas a partir de imágenes PIL.Encontrar una subimagen dentro de una imagen de Numpy
Quiero encontrar si la primera imagen contiene la segunda imagen, y si es así, buscar las coordenadas del píxel superior izquierdo dentro de la primera imagen donde está la coincidencia.
¿Hay alguna forma de hacer eso puramente en Numpy, de una manera lo suficientemente rápida, en lugar de usar bucles puros de Python (4! Muy lento).
ejemplo 2D:
a = numpy.array([
[0, 1, 2, 3],
[4, 5, 6, 7],
[8, 9, 10, 11]
])
b = numpy.array([
[2, 3],
[6, 7]
])
cómo hacer algo como esto?
position = a.find(b)
position
sería entonces (0, 2)
.
mucho más completa respuesta, gracias ~ gustaría poder cambiar la respuesta elegida pero no puedo –
Sólo por curiosidad y no a robar un poco representante de tom10;), ¿por qué no se puede cambiar la respuesta aceptada ? Soy nuevo en stackoverflow, pero en mi primera pregunta que publiqué indica que puedo "alternar" la respuesta aceptada, y otras preguntas en meta.stackoverflow.com muestran que * debería * ser posible volver a aceptar. – PiQuer
** editar **: porque la cuenta con la que hice esta pregunta no es la misma que la de mi cuenta actual. Perdí el control del dominio OpenID utilizado para iniciar sesión en esa otra cuenta, por lo que no puedo iniciar sesión y cambiarlo. –