-1

要绘制衬衫宽度线,我需要找到腋窝点(请参阅以下链接中的图片:

  1. 图片1
  2. 图二

我的想法是首先尝试找到包含腋窝点的区域,然后使用Haris算法找到那个腋窝点。这样做可以吗?如果可以,可以使用哪些算法?我想到了类似 Haar 的功能。另一个可能是区域功能(在区域功能部分)。

4

1 回答 1

3

您提到的所有算法对于简单的任务来说可能都是多余的。

就像@blackSmith 所说,形态运算符会起作用并且是个好主意:

一旦您提取了二进制文件(如果您只有第一张图片中的轮廓,则执行填充填充),您可以执行关闭,然后从中减去原始二进制文件。选择一个形态算子,使剩下的点只是腋窝的小角度。

真的就这么简单,这里有一些伪代码:

TestImage=Threshold(TestImage,0.3)

在此处输入图像描述

strel1=strel('square',25); // Create some structural elements. 25x25, very big!

strel2=strel('disk',25); // A circular element is good to close corners

TestImage=imopen(TestImage,strel1); //Gets rid of smaller particles

OpenImage=imopen(TestImage,strel2); //Closes the corners=>armpits

AddLayer=(TestImage-OpenImage); //Mark corners on original image

strel3=strel('disk',9);

AddLayer=imclose(AddLayer,strel3); //get rid of smaller areas

AddLayer=imdilate(AddLayer,strel3); //Not necessary but makes my point clearer

在此处输入图像描述

TestImageO(:,:,1)=TestImageO(:,:,1)+255*AddLayer; // Mark it on the original image

在此处输入图像描述

于 2013-08-20T12:58:45.397 回答