我正在尝试对随机移动的粒子实施光学颜色分类。并不是那么随机-它只是塑料颗粒,圆柱体和薄片,但仍然非常随机。
当前实现如下:
在静态合成图像上,一切正常,但是在真实网络摄像头图像上,一切都很糟糕:
并非每个轮廓都是闭合的,使用MORPH_CLOSE的morphologyEx并没有太大帮助,而且速度也很慢 非封闭轮廓不会填充白色以创建蒙版,因此平均颜色计算不正确。
真正的问题是:有没有办法追踪几乎随机形状的粒子?还是我正在寻找某种不存在的东西?粒子在移动(沿一个方向,从屏幕上移入和移出屏幕),如果我们以描述的方式对其进行处理,即使没有任何移动,它们也会将每个新帧视为 new 粒子集。在恶劣情况下,算法可能会确定颜色超出了“良好”颜色范围,即使不是那样。
据我所知,只有在对形状的好坏样本进行训练时,才能识别出工作良好的对象,但是无法对随机形状进行训练
用于位置预测的卡尔曼滤波器需要一个点。我可以通过使用轮廓的矩来找到粒子的中心。但是只有当发现轮廓是粒子的真实轮廓时,发现中心才可以。这并不总是正确的。
预先感谢您的任何建议。