2016-05-15 118 views
0

我試圖在UBIRIS眼睛數據庫的600x800圖像的彩色圖像上完成鞏膜識別後鞏膜鞏膜血管。我的問題是,在我試圖按照這篇論文寫上這個確切的問題後,我的結果與文章中的結果不匹配,增強和閾值沒有給出必要的結果,所以我不能繼續開發我的鞏膜匹配算法。鞏膜血管增強和自適應閾值處理

這裏的參考文件我試圖使用方法:https://scholarworks.iupui.edu/bitstream/handle/1805/2096/Thesis_OneDoc_Thomas_FinalETD.pdf

你會發現在61和62在PDF這不是爲我工作的部分頁面。

這裏是輸入圖像從我做起: input

這裏是分割圖像回饋鞏膜區域: segmented image

最後,這裏是血管的增強和自適應閾值後的圖像。血管增強已經不像紙一樣好看了,但自適應閾值是完全錯誤的。

blood vessel enhancement adaptive thresholding

最後,這裏是我的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的最大值進行歸一化,否則在血管強化之後已經獲得完全白色的區域。你認爲這個代碼的問題在哪裏?據我瞭解這篇文章,我完全按照它在那裏提到的那樣做。

回答

0

我有一個建議這裏,你可以使用firangi過濾器是這個工作 這裏非常好的鏈接以獲取代碼

http://www.mathworks.com/matlabcentral/fileexchange/24409-hessian-based-frangi-vesselness-filter/content/FrangiFilter2D.m

我已經嘗試過其他的形象在這裏是導致 enter image description here

此之後,你要做的形態手術取出外area.I建議regionpropsmatlab用於此目的

希望這可以幫助你!

+0

我已經嘗試過Frangi過濾器,但結果是隻有外部區域出現,並且在鞏膜區域內沒有發現任何血管。你是否爲過濾器設置了任何選項,或者只是簡單地將它與輸入圖像的單個參數一起使用? – rafanadal

+1

,因爲它提到,而使用firangi過濾器,你必須根據你的問題改變參數..改變選項,我相信它會工作 –