0

我正在研究虹膜识别系统。我想通过分析图像中的连通分量来找到瞳孔bwconncomp

瞳孔检测算法如下:

  1. 连接组件标签通过扫描图像来工作。它根据像素连通性将像素分组为组件。连接组件中的所有像素共享相似的像素强度值,并且以某种方式相互连接。
  2. 一旦确定了所有像素组,就标记该组中的每个像素。确定所有组的中心和直径,直径最大的一组是瞳孔。
  3. 位于虹膜上方和下方的图像部分被睫毛和眼睑遮挡。这些像素位于瞳孔直径的上方和下方。要删除它们,请将这些像素设置为 NaN(不是数字)。
  4. 发现最小/最大光圈半径为 90/125。基于此,瞳孔左右 45 个像素被认为是所提出算法分析的虹膜区域。

我的问题是:如何将虹膜上方和下方的空间设置为 NaN。以及如何获得与虹膜对应的像素?

我的代码如下:

%% Read the file and dilate it
I = imread('eye.jpg');  %See the comments for the image.
erodedBW = rgb2gray(I);
se2 = strel('disk',35); 
dilatedBW= imdilate(erodedBW ,se2);
imshow(dilatedBW);


%%pupil Detection
cc2=bwconncomp(dilatedBW);
labeled = labelmatrix(cc2);
L = bwlabel(dilatedBW);
[L, num] = bwlabel(dilatedBW);

%% Find the largest value of L
count=num;
largvalue=0;  
for i=0:count,
    L = bwlabel(dilatedBW);
    if  largvalue<=L
        largvalue=L; 
    end    
end
4

0 回答 0