Java 识别OpenCV中的空空间

Java 识别OpenCV中的空空间,java,opencv,detection,lighting,Java,Opencv,Detection,Lighting,我有一个摄像头拍摄一个有洞的网格,有时候有一个有颜色的物体在洞上,有时候没有 我仍在头脑风暴,试图找到一个好的解决方案,找出其中一个洞上是否有东西 我现在的做法是将图像转换为HSV,然后将空孔的颜色范围设置为忽略,即未覆盖的正方形(每个孔都是ROI)。问题是该值随更衣室照明而变化 这是它在HSV中的样子(对象与第一张图片位于不同的位置) 解决办法是先弄清楚房间的照明情况吗?怎么能这样呢?还是我遗漏了什么?我如何才能完美地,无论光照条件如何,判断其中一个洞是否被覆盖? 我不是在寻找代码,而是在

我有一个摄像头拍摄一个有洞的网格,有时候有一个有颜色的物体在洞上,有时候没有

我仍在头脑风暴,试图找到一个好的解决方案,找出其中一个洞上是否有东西

我现在的做法是将图像转换为HSV,然后将空孔的颜色范围设置为忽略,即未覆盖的正方形(每个孔都是ROI)。问题是该值随更衣室照明而变化

这是它在HSV中的样子(对象与第一张图片位于不同的位置)

解决办法是先弄清楚房间的照明情况吗?怎么能这样呢?还是我遗漏了什么?我如何才能完美地,无论光照条件如何,判断其中一个洞是否被覆盖?
我不是在寻找代码,而是在寻找如何(希望很容易)实现类似的想法。

注意,如果孔没有颜色,那么它就有灰度颜色。所以每个基色成分(R,G,B)都在同一水平上。然后,不管是高亮度(RGB将类似于200195205)还是无亮度(RGB将类似于40,30,35)。所以你可以计算它们之间的最大差异,如果这个差异超过你的阈值,你可以说有一种颜色。

我不确定我是否理解。没有遮盖的整体的颜色不是灰色,而是天花板的颜色,受房间照明的影响。。还是我没跟上?@Jonas天花板是什么?在你发布的图片中没有任何东西看起来像天花板。你说的“整体”是什么意思?你是说“洞”吗?是的,我看到并修复了这个洞-整个打字错误,很抱歉!在第一幅图中,所有看起来白色的正方形都是未覆盖的孔。摄像机在放置彩色物体的网格上拍摄,因此没有物体=天花板。对不起,不是很具体,应该澄清我的设置!房间的照明是单色的吗?整个图像是否一致,或者天花板是否可能只有一部分有阴影,而其余部分是明亮的?你能添加一个永远不会被覆盖的“控制”孔吗?我喜欢控制孔的想法,这可能是一个很好的解决方案,即使天花板可能包含阴影或灯光。不过,这是一个值得跟进的好主意。非常感谢。