2012-02-05 56 views
1

形態學商圖像(MQI)是在[-1-]提出了光照歸一化的方法:光照不變性:形態學商圖像(MQI)

在的Retinex理論[-2-],圖像I(x,y)可以被建模爲反射函數R(x,y)和亮度函數L(x,y)的乘積:I(x,y)= R(x,y)L(x, y)
與圖像場景中的物體特性有關的反射率R(x,y)取決於場景表面的反照率,而亮度L(x,y)落在觀察場景上的照明量由照明源確定。由於反射率R(x,y)僅與圖像中的對象有關,很明顯,當成功估計時,它可以是輸入圖像的照明不變表示。因此,爲了獲得照明不變量圖像表示,通常首先估計圖像的亮度L(x,y)。然後,反射率被表示爲圖像I(x,y)與其亮度L(x,y)的商,如下所示:R(x,y)= I(x,y)/ L ,y)

在基於MQI的照度標準化方法中,通過對圖像I(x,y)應用具有固定尺寸模板的形態學關閉操作來估計亮度L(x,y)。

通過這種方法,[-1-]得到了這樣的結果,但我實現的結果是:both results

這裏是我的MATLAB功能:

function mytest1 
    for i=1:4 
     img= imread(strcat(num2str(i),'.bmp')); 
     cimg= gsClose(img, 7,7); 
     mqi= histeq(img./cimg); 

     subplot(2,4,i), imshow(img); 
     subplot(2,4,4+i), imshow(mqi); 
    end 
end 


function img= gsClose(img, x, y) 
    img= uint8(gsDilation(gsErosion(img,x,y),x,y)); 
end 

function img= gsErosion(img, x, y) 
    img=ordfilt2(img,1,ones(x,y),-ones(x,y)); 
end 

function img= gsDilation(img, x, y) 
    img=ordfilt2(img,9,ones(x,y),ones(x,y)); 
end 

我不知道,我在那裏出錯!請指導我。我上傳的圖片太: download


[-1-] J.王,吳L.,X.他,和J.田。一種新的照明不變人臉識別方法。在Proc。國際創新計算大會,2007:139-142

[-2-] E.H.LAND和J.J.CMCann。亮度和Retinex理論。 Journal of Optical Society of America,61(1):1-11,1971。

回答

1

實施是正確的。我只是採取了錯誤的方式來顯示最終的圖像。 我用imshow在MATLAB方法:

imshow(image) 

但是我應該使用:

imshow(image, [])