我試圖在UBIRIS眼睛數據庫的600x800圖像的彩色圖像上完成鞏膜識別後鞏膜鞏膜血管。我的問題是,在我試圖按照這篇論文寫上這個確切的問題後,我的結果與文章中的結果不匹配,增強和閾值沒有給出必要的結果,所以我不能繼續開發我的鞏膜匹配算法。鞏膜血管增強和自適應閾值處理
這裏的參考文件我試圖使用方法:https://scholarworks.iupui.edu/bitstream/handle/1805/2096/Thesis_OneDoc_Thomas_FinalETD.pdf
你會發現在61和62在PDF這不是爲我工作的部分頁面。
最後,這裏是血管的增強和自適應閾值後的圖像。血管增強已經不像紙一樣好看了,但自適應閾值是完全錯誤的。
最後,這裏是我的MATLAB代碼我試着寫我根據以前與紙:
I = rgb2gray(segmentedImage);
gaborArray = gabor([3,4,5],[0,90,180,270]); %maybe 0,90,180,270 or 0,45,90,135
[gaborMag, gaborPhase] = imgaborfilt(I,gaborArray);
f = zeros(size(I,1),size(I,2));
for i = 1:size(I,1)
for j = 1:size(I,2)
for k = 1:12
f(i,j) = f(i,j) + gaborMag(i,j,k).^2;
end
f(i,j) = sqrt(f(i,j));
end
end
maxh = max(f(:));
for i = 1:size(I,1)
for j = 1:size(I,2)
f(i,j) = f(i,j)/maxh;
end
end
TH = 0.33;
[x,y] = find(f~=0);
hist = [x,y];
histH = histogram(hist,255,'Normalization','probability');
dataH = histH.Values;
thresholdsH = zeros(1,255);
%calculate sum minus constant for each case of T with absolute value and save into array
for i = 1:255
currentH = 0;
for j = 1:i
currentH = currentH + dataH(j);
end
currentH = currentH - TH;
currentH = abs(currentH);
thresholdsH(i) = currentH;
end
[MH, thH] = min(thresholdsH);
thH = thH/255;
B = zeros(size(I,1),size(I,2));
for i = 1:size(I,1)
for j = 1:size(I,2)
if(f(i,j) > thH)
B(i,j) = 1;
else
B(i,j) = 0;
end
end
end
filteredImage = B;
誰能幫助我通過這個代碼中發現的問題?首先,我不確定我是否在文中提到的4個均勻方向給Gabor濾波器組提供正確的參數。之後,通過f的最大值進行歸一化,否則在血管強化之後已經獲得完全白色的區域。你認爲這個代碼的問題在哪裏?據我瞭解這篇文章,我完全按照它在那裏提到的那樣做。
我已經嘗試過Frangi過濾器,但結果是隻有外部區域出現,並且在鞏膜區域內沒有發現任何血管。你是否爲過濾器設置了任何選項,或者只是簡單地將它與輸入圖像的單個參數一起使用? – rafanadal
,因爲它提到,而使用firangi過濾器,你必須根據你的問題改變參數..改變選項,我相信它會工作 –