iOS: compara una porción de una image con la biblioteca de opciones

Básicamente estoy tratando de encontrar la manera de tomar una porción de una image, digamos una captura de pantalla de una pantalla de inicio de iPhone, cortar el primer icono y compararlo con una serie de imágenes en una biblioteca. ¿Alguna ayuda sobre dónde comenzar?

No soy progtwigdor de iPhone, pero podría sugerir algunas cosas:

  • La detección de características SURF implementada en OpenCV debería ayudarlo con esto.
  • Hay un buen artículo sobre el uso de OpenCV en el código Objective-C .

Una forma rápida y sucia podría ser utilizar el modo de mezcla de diferencias, que debería devolver la diferencia entre la primera image (arriba) y la segunda image (abajo). Si no hay diferencia, el resultado será completamente negro. Entonces, mientras más píxeles negros en la diferencia resulten, potencialmente , más similitudes existirán entre las imágenes comparadas.

No soy un desarrollador de iOS, así que no sé si hay una biblioteca de imágenes que se suministra con sdk o si hay una biblioteca de código abierto / libre para el image processing básico. Sin embargo, esto debería ser trivial para implementar:

p.ej

- (int)difference((int)topPixel,(int)bottomPixel) { return abs(topPixel-bottomPixel); } 

Nota: la syntax puede no ser correcta 🙂

HTH

Esto puede no ayudarle a tomar una captura de pantalla de la pantalla de inicio de iOS … Pero estos artículos muestran cómo tomar instantáneas desde una aplicación UIKit:

https://developer.apple.com/library/prerelease/ios/#qa/qa1703/_index.html

https://developer.apple.com/library/prerelease/ios/#qa/qa1714/_index.html

Tal vez le indique al usuario que presione la tecla de inicio (botones) para tomar una instantánea y almacenarla en el rollo de fotos, luego cargue esa captura de pantalla en una aplicación para procesar la captura de pantalla.

¡Espero que esto ayude!