2011-11-14 2 views
5

Мне нужно выполнить демонстрационный проект, целью которого является распознавание зубов на изображении xray. Я не знаком с этой темой, и я не уверен, какой подход был бы предпочтительным в этом случае. (Я думал о сегментировании текстур - но это всего лишь догадка, и я все еще не уверен, что это вариант)Распознавание сложных форм

Вещь, которую мне нужно сделать, это в основном получить направление (угол) зубы и множество точек, которые помещаются на контур каждого зуба для выполнения конкретных задач.

Просьба советом относительно подходов & алгоритмов/библиотек, которые могут быть полезны. C# будет превентивным, но другие языки тоже прекрасны.

Заранее спасибо.

Образцы изображений все похожи на это (я заинтересован в частичном второй и третий зубы справа):

ответ

1

Ой, выглядит больно! (фотографии) Я нашел библиотеку AForge очень полезной. Он написан на C#, и вы можете загрузить исходный код здесь:

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

и хорошая статья его использования здесь:

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

Возможно полутонового, а затем порог при высокой интенсивности пикселей для того чтобы показать только самую легкую часть зуба, затем определить границу или трассировку контура. Похоже, что верхний край зуба имеет самые высокие интенсивности пикселей, поэтому, как только эти контуры обнаружены, вы можете сделать какой-то триггер, чтобы найти угол этого контура, используя его концы lhs и rhs?

2

Я определенно рекомендую использовать OpenCV. Он имеет обертку C#, доступную под названием EmguCV, что должно быть полезно.

Возможно, вы также рассмотрите библиотеку ITK, которая имеет гораздо больше алгоритмов регистрации изображений и алгоритмов сегментации, чем OpenCV, но я считаю, что есть только реализация на C++.

Надеюсь, что это полезна!

Смежные вопросы