opencv image-processing feature-detection corner-detection

opencv - Cómo detectar una esquina con un ángulo específico



image-processing feature-detection (1)

Parece que encontré una posible solución. Lo implementé en Mathematica y pude explicar los pasos básicos.

  1. Utilice el operador Buscar esquinas y tome las esquinas más fuertes. Use el operador de Harris.
  2. Buscar contornos (cv :: FindContours).

  3. Para cada esquina de cada contorno, dibuje un círculo y encuentre el punto de intersección entre el círculo y el contorno. No hay una función lista para ello en OpenCV y debe implementarlo usted mismo.

  4. Ahora, para cada esquina, tiene coordenadas de tres puntos: esquina y dos puntos en los lados del contorno. Es suficiente para evaluar ángulos usando producto de punto :

Resultado:

Tengo una imagen con un triángulo equilátero y un rectángulo:

Y quiero detectar 3 esquinas del triángulo solamente. Sigo el tutorial del detector de esquinas OpenCV Harris . Veo que todos los puntos de esquina del triángulo tienen el umbral = 80 (cuando los 4 puntos de esquina del umbral del rectángulo = 255). Pero no encontré el vínculo entre el umbral y el grado.

¿Cómo puedo encontrar la esquina que está en el rango de [55,65] grados, por ejemplo?
Aquí está la salida Mat http://pastebin.com/raw.php?i=qNidEAG0

P / s: ¡Soy muy nuevo en CV, espero que puedas dar más detalles!