使用计算机视觉检测物体的状态/位置
Posted
技术标签:
【中文标题】使用计算机视觉检测物体的状态/位置【英文标题】:Detect the state/position of an object using computer vision 【发布时间】:2018-04-16 05:27:36 【问题描述】:我需要检查对象是否已移动到特定位置。 (在我的情况下,它是电动窗帘的位置)。我想为此使用计算机视觉/图像识别。
为此,我正在考虑比较两个图像:观察到的位置与所需的位置。
我在 openCv 上进行了一些搜索,发现了诸如圆形检测(在我可以使用的阴影上应用某些标记)或模板匹配之类的概念,但不是计算机视觉专家(虽然我知道 python)我真的很感激朝着正确的方向前进。
所以我需要一些算法来检查阴影是否关闭,方法是通过将阴影与参考的封闭阴影图像进行比较,从相同的角度等拍摄,但要考虑到一些照明变化..
【问题讨论】:
【参考方案1】:问题需要将图像中对象的位置与给定的静态参考点进行比较。
所以首先我们需要确定物体的位置,如下图所示,因为图像中存在单个物体。
由于您使用的是 python,因此您可以在 opencv-python 库中按照以下步骤操作:
1) 加载您的图像并对其进行二值化。
2) 使用 cv2.findContours(thresh, 1, 2) 查找感兴趣对象的轮廓。
3) 使用 cv2.boundingRect(cnt) 函数查找边界矩形。
4) 使用矩形坐标找到它的中心作为代表点。
5) 通过计算欧几里得距离将中心与参考点进行比较。
这个reference 会很有帮助。
【讨论】:
以上是关于使用计算机视觉检测物体的状态/位置的主要内容,如果未能解决你的问题,请参考以下文章
计算机视觉案例:应用opencv+keras完成视频物体检测
计算机视觉——典型的目标检测算法(Fast R-CNN算法)(五)