复杂形状识别
我需要完成演示项目,旨在识别 X 射线图像上的牙齿。我不熟悉这个主题,并且不确定在这种情况下哪种方法更可取。 (我正在考虑纹理分割 - 但这只是一个猜测,我仍然不确定这是否是一个选项)
我需要做的事情基本上是获取牙齿和集合的方向(角度)放置在每颗牙齿轮廓上的点以完成特定于任务的计算。
请提供有关方法和方法的建议可能有帮助的算法/库。 C# 会更好,但其他语言也可以。
提前致谢。
图像样本都与此类似(我对右起第二颗和第三颗牙齿特别感兴趣):
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):
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我绝对推荐使用 OpenCV。它有一个名为 EmguCV 的 C# 包装器,应该会有所帮助。
您还可以考虑查看 ITK 库,它比 OpenCV 具有更多的图像配准和分割类型算法,但是我相信只有它的 C++ 实现。
希望有帮助!
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!
哎哟,看起来很痛苦! (图片)我发现 AForge 库非常有用。它是用 C# 编写的,您可以在此处下载源代码:
http://www.aforgenet.com/ Framework/downloads.html
以及一篇关于其使用的好文章:
http://www.codeproject.com/KB/GDI-plus/Image_Processing_Lab.aspx
也许是灰度,然后是高像素强度的阈值,仅显示牙齿最亮的部分,然后边缘检测或轮廓跟踪。看起来牙齿的顶部边缘具有最高的像素强度,因此一旦找到这些轮廓,您可以使用其左侧和右侧四肢进行一些三角计算来找到该轮廓的角度?
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?