使用计算机视觉检测物体的状态/位置

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算法)(五)

机器视觉识别技术有些啥种类

三维计算机视觉 — 中层次视觉 — Point Pair Feature

这些计算机视觉 API 可以检测到多少物体?

计算机视觉领域的三大任务