2014-12-09 149 views
0

我想要做VLFeat.org教程:http://www.vlfeat.org/overview/sift.html,以瞭解有關SIFT功能的信息。我正在使用八度。我倍頻的版本是GNU Octave, version 3.8.2,我在Mac上爲10.9.5,當我列出pakages:八度圖像包無法將圖像轉換爲灰度

octave:4>pkg list 
Package Name | Version | Installation directory 
--------------+---------+----------------------- 
control *| 2.6.6 | /Users/javier/octave/control-2.6.6 
general *| 1.3.4 | /Users/javier/octave/general-1.3.4 
    image *| 2.2.2 | /Users/javier/octave/image-2.2.2 
    signal *| 1.3.0 | /Users/javier/octave/signal-1.3.0 

因此,所有的包加載。該VLFeat版本我使用:

octave:5>vl_version 
0.9.19 

的I型

I = vl_impattern('roofs1') ; 
warning: your version of GraphicsMagick limits images to 8 bits per pixel 
image(I) ; 

有時我得到的警告,有時候我不知道。然後,我轉換成圖像使用灰度圖像:

I = single(rgb2gray(I)) ; 

我獲得的形象是所有藍色的,我不能看到有其他的不是制服深藍色的圖像什麼。沒有錯誤信息或任何其他警告,只是一個藍色的圖像。我嘗試了一些東西:其他圖像,在圖像包中使用imread加載,似乎沒有任何工作(當我使用imread時,我得到類似於熱圖的東西,但不是灰度圖)。我想這可能與該警告的事情:

warning: your version of GraphicsMagick limits images to 8 bits per pixel

我所有的倍頻安裝已完成MacPorts的。所以,我想問題是。我必須再次安裝GraphicsMagick。如果是這樣,使用macports,它是:

sudo port install GraphicsMagick --with-quantum-depth=16 

我是否必須再次重建八度?

預先感謝

回答

1

不能做到這一點

I = single(rgb2gray(I)) ; 

的顯示類單的圖像的範圍是從不同UINT8。要麼使用im2single

imshow (im2single (rgb2gray (I)) 

或設置imshow的顯示範圍:

imshow (single (rgb2gray (I)), [0 255]) 
imshow (single (rgb2gray (I)), []) 

octave manual

一個像素的灰度或RGB值的實際意義圖像取決於矩陣的類別。如果矩陣具有類雙像素強度在0和1之間,如果它屬於uint8類,強度在0和255之間,並且如果它屬於uint16類,強度在0和65535之間。