【问题标题】:Identify empty space OpenCV识别空白空间 OpenCV
【发布时间】:2016-07-25 14:02:02
【问题描述】:

我有一个网络摄像头拍摄一个带有孔的网格,有时孔上有一个彩色物体,有时没有。

我仍在集思广益,试图找到一个好的解决方案来确定其中一个孔是否有东西。

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

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

解决方案是先弄清楚房间的照明吗?怎么可能做到这一点?还是我缺少什么?无论照明条件如何,我怎样才能完美地确定其中一个孔是否被覆盖? 我不是在寻找代码,而是在寻找关于如何(希望很容易)实现这样的事情的想法。

【问题讨论】:

  • 房间灯光是单色的吗?它在整个图像中是否一致,或者是否有可能只有部分天花板可能包含阴影而其余部分是明亮的?能不能加一个永远不会被覆盖的“控制”洞?
  • 我喜欢控制孔的想法,可能是一个很好的解决方案,即使天花板可能包含阴影是灯。不过,这是一个值得跟进的好主意。谢谢!

标签: java opencv detection lighting


【解决方案1】:

请注意,如果孔没有着色,则它具有灰度颜色。所以每个基色成分(R,G,B)都在同一水平。然后不管是否有高亮度(RGB 将像 200,195,205)或没有(RGB 将像 40,30,35)。所以你可以计算它们之间的最大差异,如果这个差异超过你的阈值,你可以说有颜色。

【讨论】:

  • 我不确定我是否理解。未覆盖的整体颜色不是灰色,而是天花板的颜色,受房间灯光的影响……还是我没跟上?
  • @Jonas 上限是多少?在您发布的图像中,没有任何东西看起来像天花板。你所说的“整体”是什么意思?你是说“洞”吗?
  • 是的,我看到并修复了这个漏洞——所有的错别字,抱歉!在第一张图片中,所有的白色看起来都与未覆盖的孔相匹配。凸轮在放置彩色物体的网格上拍摄,所以没有物体 = 天花板。抱歉,不是很具体,应该澄清我的设置!谢谢
猜你喜欢
  • 2018-01-22
  • 1970-01-01
  • 1970-01-01
  • 2012-09-17
  • 1970-01-01
  • 2015-01-14
  • 2015-09-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多