用很少的点来裁剪感兴趣的区域

时间:2014-01-22 15:32:49

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

我使用凸包和凸面缺陷,并在手中找到了点,如下所示。

enter image description here

根据以上积分信息,如何裁剪红色(指关节)标记的区域,如下图所示。

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

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

enter image description here

更新(2014年2月26日):

我发现轮廓点如下。有了以下信息,就可以找到关节区域。有没有办法找到使用积分。

enter image description here

2 个答案:

答案 0 :(得分:0)

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

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

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

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

希望它有所帮助!

答案 1 :(得分:0)

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

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

  2. 应用水平直方图以分隔条带。

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