2014-12-09 2 views
0

SIFT 기능에 대해 배우려면 VLFeat.org 튜토리얼 : http://www.vlfeat.org/overview/sift.html을 시도하고 있습니다. 나는 옥타브를 사용하고있다. 내 옥타브 버전은 내가 Mac에서 오전, GNU Octave, version 3.8.2입니다 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 다르다 할 수 없습니다.

imshow (im2single (rgb2gray (I)) 

또는 imshow의 표시 범위를 설정 : 어느 im2single를 사용

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

보는 octave manual :

그레이 또는 RGB의 화소 값의 실제 의미 이미지는 행렬의 클래스에 따라 다릅니다. 행렬이 클래스 double 픽셀 인 경우 강도는 0과 1 사이이며, 클래스가 uint8 인 경우 강도는 0에서 255 사이이며 클래스가 uint16 인 경우 강도는 0과 65535 사이입니다.