在其他轮廓中填充轮廓/像素|使用深度图像检测盒子

我正在使用OpenCV在深度灰度图像中查找框。

首先,我从框的顶部剪切深度图像,如下所示:

在其他轮廓中填充轮廓/像素|使用深度图像检测盒子

接下来,我从框的底部剪切深度图像,如下所示:

在其他轮廓中填充轮廓/像素|使用深度图像检测盒子

在进行一些过滤,关闭并执行了一些基本操作之后,我得到了一个顶部切割的图像,该图像与框底部和边界框的位置合并在一起。请参见下图:

在其他轮廓中填充轮廓/像素|使用深度图像检测盒子


现在的目标是尝试拉伸内部矩形,直到它们接触顶部边缘的角为止。问题是盒子可以旋转,这使填充变得比仅水平/垂直循环并填充空隙要困难得多。

一种方法是获取内部矩形的一侧,一直沿拉伸方向移动它,直到它接触到值255的某些像素为止。但是,这会花费很多时间,而且效率不高。

另一种方法是消除所有不沿拉伸段方向的像素,找到其余对象的轮廓,然后尝试相同的方法。

第三种方法对我来说最有意义:

  • 绘制其他两个连接到矩形侧面但作为线条的线段,以填充整个图像。
  • 两行以外的任何内容都会被忽略
  • 查找以获取剩余对象轮廓在拉伸/填充方向上的坐标的列表
  • 找到最靠近侧面的像素;这是我们将盒子伸展到的地方 这仍然效率很低。

任何帮助,指导或见解将不胜感激。谢谢!

laonongding 回答:在其他轮廓中填充轮廓/像素|使用深度图像检测盒子

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3152073.html

大家都在问