2011-11-14 19 views
5

Necesito completar el proyecto de demostración que tiene como objetivo reconocer los dientes en la imagen de la radiografía. No estoy familiarizado con el tema y no estoy seguro de qué enfoque sería preferible en este caso. (Estaba pensando en la segmentación de textura, pero esto es solo una suposición, y aún no estoy seguro de si esta es una opción)Reconocimiento de formas complejas

Lo que necesito hacer básicamente es obtener la dirección (ángulo) del dientes y el conjunto de puntos que se colocan en el contorno de cada diente para realizar cálculos específicos de la tarea.

Por favor, infórmenos sobre los enfoques & algoritmos/bibliotecas que pueden ser útiles. C# sería prefferrable, pero otros idiomas también están bien.

Gracias de antemano.

Las muestras de imágenes son todas similares a este (estoy particularmente interesado en la segunda y la tercera dientes desde la derecha):

Respuesta

1

¡Ay, parece doloroso! (las imágenes) He encontrado la biblioteca de AForge muy útil. Está escrito en C#, y se puede descargar el código fuente aquí:

http://www.aforgenet.com/framework/downloads.html

y un buen artículo de su uso aquí:

http://www.codeproject.com/KB/GDI-plus/Image_Processing_Lab.aspx

Tal vez en escala de grises y luego umbral a una alta intensidad de píxel mostrar solo la parte más liviana del diente, luego detectar borde o trazar el contorno. Parece que el borde superior del diente tiene las intensidades de píxeles más altas, por lo que una vez que se encuentran estos contornos, puede hacer algo de trigonometría para encontrar el ángulo de este contorno utilizando sus extremidades lhs y rhs.

2

Sin duda, recomendaría el uso de OpenCV. Tiene un contenedor de C# disponible llamado EmguCV, que debería ser útil.

También podría considerar buscar en la biblioteca ITK, que tiene muchos más algoritmos de registro de imágenes y tipo de segmentación que OpenCV, pero creo que solo hay una implementación en C++.

Espero que sea útil!