【问题标题】:Crop the region of interest with few points available用少量可用点裁剪感兴趣的区域
【发布时间】:2014-01-22 15:32:48
【问题描述】:

我用过凸包和凸面缺陷,发现手上的点如下图。

有了以上的点信息,我如何裁剪标记为红色(Knuckle)的区域,如下图所示。

我的目的是检测手中的指节。

注意:绘制的绿色区域使用“绘制轮廓”。是否可以使用该区域来裁剪红色标记区域(指关节)。如何裁剪这些区域。

更新(2014 年 2 月 26 日):

我找到了如下轮廓点。有了以下信息,就可以找到指关节区域。有没有什么方法可以利用积分找到。

【问题讨论】:

  • 是的,这是可能的,但不知何故,我怀疑这就是您正在寻找的答案。你到底想回答什么?
  • @Nallath 我想知道这些可用信息,如何裁剪标记为红色的区域。我参与了 FKP(指关节指纹)识别。
  • 查看边缘图并定位边缘密集的区域。或应用 sobel 滤波器 (dx) 来检测垂直边缘的位置。
  • 你的问题很混乱。如果您知道以红色标记的区域的轮廓,那么裁剪该区域是微不足道的。您应该改写您的问题“在检测到手部轮廓后,如何检测手指关节区域?”
  • @CanberkBaci 谢谢,我能得到一些例子和详细的链接,这对我真的很有帮助。

标签: opencv image-processing machine-learning computer-vision


【解决方案1】:

既然你已经知道红色的位置,你只想裁剪这个区域?

这很简单,您只需要设置一个 ROI(感兴趣区域)并将该区域复制到另一个图像。像这样(在伪代码中,因为我没有打开并运行一个开放的 CV 项目)

img1.ROI = varRedRectangle
img1.copyTo(img2)
img1.ROI = null;

如果您的问题是如何检测红色部分,我认为您需要像图像识别领域的任何人一样做很多工作,因为有很多方法可以做到,这里没有人会为您找到它们。

希望对你有帮助!

【讨论】:

  • 我认为 OP 想要检测手指关节(红色 roi)的区域。他没有很好地表达他的问题。
  • 抱歉@Alex 是对的。我需要检测我现在没有的红色区域(指关节)。
  • 这更像是一个检测问题,而不是识别问题。
  • 好的!抱歉,在我写下我的答案时,这个问题还不清楚。非常令人不安的是,有人给我打了 -1 分,因为我试图帮助提供最少的信息……我无法帮助你检测指关节。
【解决方案2】:

如果您的想法是检测那些红色区域,您可以使用以下简单的想法。

  1. 获取边缘图像并去除绿色边界之外的边缘。

  2. 应用水平直方图来分离条带。

  3. 在每个垂直直方图中,定位具有峰值邻域内的值的 bin。 (让我们称之为峰值箱)
  4. 峰值区间的最长连续序列应该给出答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-08
    • 1970-01-01
    • 1970-01-01
    • 2013-04-07
    • 1970-01-01
    • 2011-08-10
    • 2013-03-19
    相关资源
    最近更新 更多