danyloid
danyloid

Reputation: 1677

Complex shapes recognition

I need to complete the demo project which aims to recognize teeth on the xray image. I'm not familiar with the topic and I'm not sure which approach would be preferrable in this case. (I was thinking of the texture segmentation - but this is just an guess, and i'm still not sure if this is an option)

The thing I need to do is basically to get the direction(angle) of the teeth and the set of points that are placed on the contour of each tooth to accomplish task-specific calculations.

Please advice on approaches & algorithms/libraries that might be helpful. C# would be prefferrable, but other languages are fine too.

Thanks in advance.

The image samples are all similar to this (I'm particulary interested in the second and the third teeth from right):

Upvotes: 5

Views: 2430

Answers (2)

Jeb
Jeb

Reputation: 3799

Ouch, looks painful! (the pictures) I've found the AForge library very useful. It's written in C#, and you can download the source here:

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

and a good article of its use here:

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

Perhaps greyscale and then threshold at a high pixel intensity to only show the lightest part of the tooth, then edge detect or contour trace. It looks like the top edge of the tooth has the highest pixel intensities, so once these contours are found, you can do some trig to find the angle of this contour using its lhs and rhs extremities?

Upvotes: 1

mevatron
mevatron

Reputation: 14011

I would definitely recommend using OpenCV. It has a C# wrapper available called EmguCV, which should be helpful.

You might also consider looking at the ITK library, which has far more image registration and segmentation type algorithms than OpenCV, but I believe there is only a C++ implementation of it.

Hope that is helpful!

Upvotes: 2

Related Questions