2014-06-17 1 views
0

따뜻한 색상은 이미지의 더 가까운 부분을 나타내고 쿨러 색상은 멀리있는 물체를 나타내는 색상을 사용하여 이미지의 깊이를 보여주는 이미지가 있습니다. 이 이미지를 깊이를 보여주는 서핑 플롯으로 표현하고 싶습니다. Java에서이 작업을 수행해야하지만 계속 진행하기 전에 Matlab에서 프로세스를 더 쉽게 이해할 수 있다고 생각합니다. 나는 이미지의 크기를 사용하고 그것을 플로팅 해 보았지만 에러가 계속 발생했다. 어떤 도움이라도 대단히 감사 할 것입니다. MATLAB에서 이미지 서핑을 어떻게 표시합니까?

나는 서핑 기능 시도 :

`img = imread('sample.png'); 
grayImage = rgb2gray(img); 
surf(double(img))` 

을이 오류 가지고 :

>> surf 
Attempt to execute SCRIPT surf as a function: 
C:\Users\kuchin\Documents\MATLAB\surf.m 
Error in surf (line 3) 
surf(double(img)) 

답변

2

편집이 자신의 게시물에 귀하의 코멘트에서 보는 바와 같이

, 문제가 있다는 것입니다을 당신은 가지고있는 surf.m 파일에 의해 surf 함수를 오버라이드하고있다. matlab 파일에 Matlab이 만든 함수와 동일한 이름을 사용하지 마십시오. C:\Users\kuchin\Documents\MATLAB\surf.m으로 이동하여 이름을 mysurf.m으로 지정하십시오. 그것은 당신의 문제를 해결할 것입니다. 당신이 두 배의 깊이 이미지 (MXN)가있는 경우

ORIGINAL POST

surf(img); 

그들은 UINT8

surf(double(img)); 

이 트릭을 할 것입니다 경우. 테스트 코드 :

img=imread('coins.png'); 
surf(double(img)) 

출력 :

enter image description here

+0

나는이 시도하지만 오류가 여기 내 입력 : IMG = imread ('sample.png'); grayImage = rgb2gray (img); 서핑 (더블 (IMG)) 및 내 출력 및 오류 : >> 서핑 함수로 SCRIPT 서핑을 실행하는 시도 : C : 서핑 \ 사용자 \ kuchin \ 문서 \ MATLAB \ surf.m 오류 (3 행) surf (double (img)) –

+0

@ user3748494 dof (double (grayImage)); 그래도 작동하지 않는다면 이미지 또는 이미지 링크를 게시 할 수 있습니까? –

+0

@ user3748494 mmm 당신이 제공 한 디렉토리에 .m 파일이 있습니다. 그 파일은 Matlabs surf function을 무효로합니다. .m 파일을 maltab 함수로 지정하지 마십시오! 예를 들어 다른 funciton (예 : surfc())을 사용하면 문제가없는 것으로 나타납니다. –

관련 문제