如何获得图像中显示的区域?

时间:2014-02-13 06:32:23

标签: matlab image-processing computer-vision feature-extraction

我想获得下图中指定的红色区域:

region shown in red

请记住,图片中显示的红色区域仅用于说明,原始图片中不存在,下面是附加的原始图片:

Original Image

我也有这个区域的虹膜点,我已经明白了这一点,如果这一点可以帮助我,那么我也可以分享这个图像。

有人可以帮助我......

3 个答案:

答案 0 :(得分:3)

对于此特定图片,我们称之为BW,您可以找到中心区域:

BWnoBorder= imclearborder(BW); %# remove the white that touches the border
OnlyCenter = bwareaopen(BWnoBorder,1000); %# remove all small pixel areas

答案 1 :(得分:0)

稳健的方法可能是snake区域增长算法。

答案 2 :(得分:0)

似乎你对红外线照射的眼睛进行了阈值处理。要回答您的问题或甚至正确地询问您,您必须显示许多图像以评估眼窝区域的稳定性和噪音。否则,人们可以想出一个适用于上述图像的解决方案,但不是一般的。

例如,我可以反转你的图像,得到最大的连通分量(暗区)和erode它直到它变薄,见下文。从这个二进制掩码中很容易得到一个椭圆,但是一般情况下你的噪声输入会起作用吗?

enter image description here

首先要说的是你期望找到什么。假设你正在寻找一个眼睛,黑暗的周围区域和一个明亮的肤色 - 使它成为3个混合模型,以EM方式同时解决。提供一些形状先验以提高准确性。想想其他的视觉线索,比如虹膜上的规格,眼跳,眨眼等等。