在我的研究进展中,我现在已经将寄生虫从图像中分离出来。寄生虫看起来像蠕虫。我希望 MATLAB 读取所有输入图像,查找类似深紫色图像的蠕虫,如果检测到,则给出检测到的答复。我尝试使用直方图比较,但我认为使用面积或形状是更好的选择,它涉及机器学习。我不知道该怎么做。
( http://www.cdc.gov/dpdx/lymphaticFilariasis/gallery.html#microwbancrofti )
最佳答案
很难说出您需要做什么,因为问题尚未形式化,因此我们无法给出 100% 工作的算法。
浏览图片后,我发现图片上大致有3种物体:
- 背景
- 前景颜色的小球
- 前景色中的长而弯曲的蠕虫
那么你能做什么:
将图像(每个像素)二值化为两种颜色:前景和背景。您可以仅使用像素,也可以使用其邻居。
查找 connectivity components在前景像素之间。您可以将图片的每个像素表示为一个节点,或者做一些更复杂的事情。
如果存在的话,更大的组件将是蠕虫。您可以分析您拥有的图片并提出区分蠕虫和球的阈值,或者做一些更奇特的事情。
例如,这些球具有圆形形状,因此您可以尝试将每个连接组件放入一个圆形中。图片上的所有球看起来都非常清晰且分离,因此具有巨大半径的组件就是您要寻找的。或者,您可以计算最大组件间距离。
总结:正如我之前所说,您的问题没有确切的解决方案。您需要尝试不同的方法,看看哪种方法最有效。
关于Matlab-机器学习?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28417456/