用少量可用点裁剪感兴趣的区域
Posted
技术标签:
【中文标题】用少量可用点裁剪感兴趣的区域【英文标题】:Crop the region of interest with few points available 【发布时间】:2014-01-22 15:32:48 【问题描述】:我用过凸包和凸面缺陷,发现手上的点如下图。
有了以上的点信息,我如何裁剪标记为红色(Knuckle)的区域,如下图所示。
我的目的是检测手中的指节。
注意:绘制的绿色区域使用“绘制轮廓”。是否可以使用该区域来裁剪红色标记区域(指关节)。如何裁剪这些区域。
更新(2014 年 2 月 26 日):
我找到了如下轮廓点。有了以下信息,就可以找到指关节区域。有没有什么方法可以利用积分找到。
【问题讨论】:
是的,这是可能的,但不知何故,我怀疑这就是您正在寻找的答案。你到底想回答什么? @Nallath 我想知道这些可用信息,如何裁剪标记为红色的区域。我参与了 FKP(指关节指纹)识别。 查看边缘图并定位边缘密集的区域。或应用 sobel 滤波器 (dx) 来检测垂直边缘的位置。 你的问题很混乱。如果您知道以红色标记的区域的轮廓,那么裁剪该区域是微不足道的。您应该改写您的问题“在检测到手部轮廓后,如何检测手指关节区域?” @CanberkBaci 谢谢,我能得到一些例子和详细的链接,这对我真的很有帮助。 【参考方案1】:既然你已经知道红色的位置,你只想裁剪这个区域?
这很简单,您只需要设置一个 ROI(感兴趣区域)并将该区域复制到另一个图像。像这样(在伪代码中,因为我没有打开并运行一个开放的 CV 项目)
img1.ROI = varRedRectangle
img1.copyTo(img2)
img1.ROI = null;
如果您的问题是如何检测红色部分,我认为您需要像图像识别领域的任何人一样做很多工作,因为有很多方法可以做到,这里没有人会为您找到它们。
希望对你有帮助!
【讨论】:
我认为 OP 想要检测手指关节(红色 roi)的区域。他没有很好地表达他的问题。 抱歉@Alex 是对的。我需要检测我现在没有的红色区域(指关节)。 这更像是一个检测问题,而不是识别问题。 好的!抱歉,在我写下我的答案时,这个问题还不清楚。非常令人不安的是,有人给我打了 -1 分,因为我试图帮助提供最少的信息……我无法帮助你检测指关节。【参考方案2】:如果您的想法是检测那些红色区域,您可以使用以下简单的想法。
获取边缘图像并去除绿色边界之外的边缘。
应用水平直方图来分离条带。
在每个垂直直方图中,定位具有峰值邻域内的值的 bin。 (让我们称之为峰值箱) 峰值区间的最长连续序列应该给出答案。【讨论】:
以上是关于用少量可用点裁剪感兴趣的区域的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Viola Jones 算法将人脸检测为感兴趣区域并将其裁剪到矩形框?