Opencv 在深度图上大致检测对象

Opencv 在深度图上大致检测对象,opencv,kinect,edge-detection,depth,Opencv,Kinect,Edge Detection,Depth,我想在深度图上找到大致相同的物体。 目前,我的流程如下: 1.深度标准化 2.仅获取最近对象的阈值 3.高斯模糊 4.Canny边缘检测 5.轮廓检测 然而,我无法找到我的物体周围的盒子。事实上,我不知道用这种深度图是否可能 我桌上有三样东西:一盒食物和两个杯子 我想在我的物体周围找到一个盒子 有没有一种方法仅仅通过图像处理就可以做到这一点? 任何帮助都将不胜感激 提前非常感谢。您可以使用OpenCV完成此操作。看看下面的解决方案 我使用问题中提供的深度图作为输入图像。我对深度图的灰度图像进

我想在深度图上找到大致相同的物体。 目前,我的流程如下: 1.深度标准化 2.仅获取最近对象的阈值 3.高斯模糊 4.Canny边缘检测 5.轮廓检测

然而,我无法找到我的物体周围的盒子。事实上,我不知道用这种深度图是否可能

我桌上有三样东西:一盒食物和两个杯子

我想在我的物体周围找到一个盒子

有没有一种方法仅仅通过图像处理就可以做到这一点? 任何帮助都将不胜感激


提前非常感谢。

您可以使用OpenCV完成此操作。看看下面的解决方案

我使用问题中提供的深度图作为输入图像。我对深度图的灰度图像进行了二值化阈值处理

ret,th = cv2.threshold(gray,127,255, 1)
并取得以下成果:

现在,为了填补图像中的空白,我执行了形态学关闭操作

kernel = np.ones((15,15),np.uint8)
dilate = cv2.morphologyEx(th, cv2.MORPH_CLOSE, kernel, 3)

然后,我使用以下方法找到轮廓:

contours,hierarchy = cv2.findContours(dilate,2,1)
并使用以下方法绘制它们:

cv2.drawContours(img, contours, -1, (0,255,0), 3)
最后得到这个,

希望这就是你想要的:)