当给出如下图像时:
并且不知道图像中物体的颜色,我希望能够自动找到最佳的H,S和V范围以对物体本身进行阈值处理,以获得如下结果:
在这个例子中,我手动找到了值并使用cv :: inRange对图像进行了阈值处理。
我正在寻找的输出是最好的H,S和V范围(每个的最小值和最大值,总共6个)整数值)来阈值图像中的给定对象,而不事先知道对象是什么颜色。我需要稍后在我的代码中使用这些值
要记住的要点:
- 所有给定的图像尺寸相同
- 所有给定的图像将具有相同的深色背景
- 我将放入图像中的所有物体都是全彩的。
我可以对6个HSV范围值的所有可能排列进行暴力破解,每个阈值的阈值,并找到一个聪明的方法来确定何时找到最佳斑点(斑点大小可能?)。尽管如此,这似乎是一个非常麻烦,冗长且无效的解决方案
接近这个有什么好办法?我做了一些研究,发现OpenCV具有一些机器学习功能,但我需要在过程结束时获得实际的6个值,而不仅仅是阈值图像。