2012-03-17 27 views
8

Estoy intentando implementar un huevo de pascua en una aplicación móvil en la que estoy trabajando. Estos huevos de Pascua se activarán cuando se detecte un logotipo en la vista de la cámara. El logotipo que intento detectar es este: Halifax logo.Detección de logotipos usando OpenCV

No estoy seguro de cuál es la mejor manera de abordar esto, ya que soy bastante nuevo en la visión artificial. Actualmente estoy buscando bordes horizontales usando el algoritmo de Canny. Luego encuentro segmentos de línea usando la transformada Hough probabilística. La salida de este se ve de la siguiente manera (líneas azules representan los segmentos de línea detectados por el probabilística transformada de Hough):

halifax logo post detection

El siguiente paso que iba a tomar sería la de buscar un grupo de alrededor de 24 líneas (ajuste dentro de un rectángulo casi cuadrado), cada línea tendría que ser aproximadamente de la misma longitud. Utilizaría estas dos señales para indicar la posible presencia del logotipo. Me doy cuenta de que este es probablemente un enfoque muy ingenuo y agradecería sugerencias sobre cómo detectar mejor este logotipo de una manera más confiable.

Gracias

Respuesta

4

Es posible que quiera ir con SIFT usando Rob Hess SIFT Library. Está usando OpenCV y también bastante rápido. Supongo que es más fácil que su forma actual de acercarse a la detección de logotipo :)

Intente también buscando SURF, que dice ser más rápido & que SIFT. Este Feature Detection tutorial te ayudará.

+2

SIFT y SURF están patentados (aunque permiten un uso no comercial sin costo) por lo que necesitará una licencia de patente para cualquier uso comercial. – bleater

0

No estoy muy seguro de si encontraría tales características en el logotipo para ir con un enfoque SIFT/SURF. Como alternativa, puede intentar entrenar un clasificador de características tipo Haar y usarlo para detectar el logotipo, al igual que lo hace opencv para la detección de rostros.