我想在深度图上找到大概的物体。
现在,我的过程如下:
1.深度归一化
2.仅获取最接近对象的阈值
3.高斯模糊
4. Canny边缘检测
5.轮廓检测

但是,我找不到对象周围的盒子。实际上,我不知道这种深度图是否可行...

我桌上有三个物体:一盒食物和两个杯子。

opencv - 在深度图上检测大约物体-LMLPHP

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

opencv - 在深度图上检测大约物体-LMLPHP

有没有办法仅通过图像处理来做到这一点?
任何帮助,将不胜感激。

提前非常感谢您。

最佳答案

您可以使用OpenCV执行此操作。看一下下面的解决方案。

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

ret,th = cv2.threshold(gray,127,255, 1)

并获得以下信息:

opencv - 在深度图上检测大约物体-LMLPHP

现在,为了填补图像中的空白,我执行了 morphological close 操作
kernel = np.ones((15,15),np.uint8)
dilate = cv2.morphologyEx(th, cv2.MORPH_CLOSE, kernel, 3)

opencv - 在深度图上检测大约物体-LMLPHP

然后我使用以下方法找到轮廓:
contours,hierarchy = cv2.findContours(dilate,2,1)

并使用以下方法绘制它们:
cv2.drawContours(img, contours, -1, (0,255,0), 3)

终于得到了这个:

opencv - 在深度图上检测大约物体-LMLPHP

希望这就是您想要的:)

关于opencv - 在深度图上检测大约物体,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38094594/

10-12 21:53