python - 如何识别这个复杂图像中的粒子?
问题描述
我已经尝试 Python+OpenCV 很长时间了,并遵循了许多教程来识别下图中的粒子:
我的最终目标是识别每个粒子,从那里我将能够计算粒子的数量,计算尺寸分布等。
我已经尝试在几个站点中自定义许多示例。我得到了很好的提示,基于:
虽然我没能取得不错的成绩。
如何使用 Python 和 OpenCV 识别此图像中的粒子?
解决方案
IMO,获得有意义结果的唯一希望是利用粒子是圆形的事实。通过使用一些同质性标准,您可以找到候选粒子中心,并从中生长轮廓,使其保持圆形并在边缘停止。一个选项可以是从种子点绘制光线,找到最近的边缘点并使用圆或椭圆的稳健拟合。
拒绝与圆度相差太远的形状。这应该允许您找到未遮挡的粒子。然后您可以从其他种子点继续游戏,这一次会增长可能被已检测到的粒子遮挡的轮廓。(当边缘被击中时,如果已知它属于粒子,则忽略它。)
推荐阅读
- java - Double.parseDouble 丢失小数位
- javascript - jQuery 表单验证在 JSP 中不起作用
- c++ - CLion 在远程计算机上找不到 C/C++ 标准库
- react-native - 如何在 React Native WebView 中加载视图之前在 WebView 本地存储中设置值
- dart - 如何从推送通知重定向到颤动的页面
- python - 为什么这段代码不输出获胜者变量?
- xml - 我无法在 python 中解析多个 xml 文件
- java - 将spring boot从2.1.4更新到2.1.5后java主类出现问题
- swift - 条件语句似乎无法正常运行
- google-sheets - 查找最近的时间戳以记录和绘制事件图表